云服务器内容精选
-
源端优化 Mysql优化 表1 全量阶段 参数名 类型 默认值 说明 scan.incremental.snapshot.backfill.skip boolean true 全量阶段是否跳过读取binlog数据,默认为true。跳过读取binlog数据可以有效降低内存使用。需要注意的是,跳过读取binlog功能只提供at-least-once保证。 scan.incremental.snapshot.chunk.size int 50000 分片大小,决定了全量阶段单个分片最大数据的数据条数以及分片个数。分片大小越大,单个分片数据条数越多,分片个数越小。 当表的条数过多时,作业会划分较多的分片,从而占用过多的内存导致内存问题,请解决表的条数适当调整该值。 当scan.incremental.snapshot.backfill.skip为false时,实时处理集成作业会缓存单个分片的数据,此时分片越大,占用内存越多,引发内存溢出,在此场景下,可以考虑降低分片大小。 scan.snapshot.fetch.size int 1024 全量阶段抽取数据时,从Mysql侧单次请求抽取数据的最大条数,适当增加请求条数可以减少对Mysql的请求次数提升性能。 debezium.max.queue.size int 8192 数据缓存队列条数,默认为8192,当源表中单条数据过大时(如1MB),缓存过多数据会导致内存溢出,可以考虑减小该值。 debezium.max.queue.size.in.bytes int 0 数据缓存队列大小,默认为0,即表示缓存队列不考虑数据大小,只按照数据条数计算。在debezium.max.queue.size无法有效限制内存占用时,考虑显式设置该值来限制缓存数据的大小。 jdbc.properties.socketTimeout int 300000 全量阶段连接Mysql的socket超时时间,默认为5分钟。当Mysql负载较高,作业出现SocketTimeout异常时,考虑增大该值。 jdbc.properties.connectTimeout int 60000 全量阶段连接Mysql的连接超时时间,默认为1分钟。当Mysq负载较高,作业出现ConnectTimeout异常时,考虑增大该值。 表2 增量阶段 参数名 类型 默认值 说明 debezium.max.queue.size int 8192 数据缓存队列条数,默认为8192,当源表中单条数据过大时(如1MB),缓存过多数据会导致内存溢出,可以考虑减小该值。 debezium.max.queue.size.in.bytes int 0 数据缓存队列大小,默认为0,即表示缓存队列不考虑数据大小,只按照数据条数计算。在debezium.max.queue.size无法有效限制内存占用时,考虑显式设置该值来限制缓存数据的大小。 Oracle优化 表3 全量阶段 参数名 类型 默认值 说明 scan.incremental.snapshot.backfill.skip boolean true 全量阶段是否跳过读取Redo log数据,默认为true。由于Oracle初始化LogMiner 较慢,因此在Oracle场景下,跳过读取Redo log数据可以有效提升全量抽取的性能,同时减低内存的使用。需要注意的是,跳过读取binlog功能只提供at-least-once保证。 scan.incremental.snapshot.chunk.size int 50000 分片大小,决定了全量阶段单个分片最大数据的数据条数以及分片个数。分片大小越大,单个分片数据条数越多,分片个数越小。 当表的条数过多时,作业会划分较多的分片,从而占用过多的内存导致内存问题,请解决表的条数适当调整该值。 当scan.incremental.snapshot.backfill.skip为false时,实时处理集成作业会缓存单个分片的数据,此时分片越大,占用内存越多,引发内存溢出,在此场景下,可以考虑降低分片大小。 scan.snapshot.fetch.size int 1024 全量阶段抽取数据时,从Mysql侧单次请求抽取数据的最大条数,适当增加请求条数可以减少对Oracle的请求次数而提升性能。
-
源端抽取慢 检查源端负载是否已到达源端数据源上限,如Mysql、Oracle、SqlServer数据源,优先查看源端数据源的监控指标,查看CPU、内存、IO等参数是否处于高负载状态。 在排除源端负载的情况下,如果源端是Mysql\Oracle\SqlServer\PostGres\OpenGauss等的全量+增量作业且作业处于全量抽取阶段,或者Kafka\hudi等数据源抽取速度慢,请优先尝试加大作业并发数,以提高作业的并发抽取速率。 Mysql\Oracle\SqlServer\PostGres\OpenGauss等关系型数据为保证事务有序,在增量阶段是单并发抽取,加大并发一般不会提升抽取性能。 如果第2步也无法有效提升性能,请根据源端优化尝试进行参数优化。 如果上述步骤仍然无法提升作业速度,请联系技术支持人员协助解决。
-
目的端写入慢 检查目的端负载是否已达到目的端数据源上限,如DWS、Doris,优先查看目的端监控指标,查看CPU、内存、IO等参数是否处于高负载状态。 在排除目的端负载的情况下,加大作业并发,以提高写入速度。 如果第2步也无法有效提升性能,请根据源端抽取慢排查源端的性能因素。 如果排除了源端的情况下,请根据目的端优化尝试进行参数优化。 如果上述步骤仍然无法提升作业速度,请联系技术支持人员协助解决。
-
请求示例 创建一个参数模板,名称为myparameter,node_type为shard,version为3.4,最大连接数为10 { "name" : "myparameter", "description" : "parameter1", "datastore" : { "node_type" : "shard", "version" : "3.4" }, "parameter_values" : { "max_connections" : "10" } }
-
响应消息 参数说明 表4 响应Body参数 名称 参数类型 描述 configuration ParamGroupInfoResult object 参数模板列表。 表5 configuration字段数据结构说明 名称 参数类型 说明 id String 参数模板ID。 name String 参数模板名称。 description String 参数模板描述。 datastore_version String 数据库版本。 datastore_name String 数据库类型。 created String 创建时间,格式为“yyyy-MM-ddTHH:mm:ssZ”。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 updated String 更新时间,格式为“yyyy-MM-ddTHH:mm:ssZ”。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 响应示例 { "configuration": { "id": "7b4e07852bd54016906e89461b3182cdpr02", "name": "myparameter", "description": "parameter1", "datastore_version": "3.4", "datastore_name": "mongodb", "created": "2018-09-19T02:54:21", "updated": "2018-09-19T02:54:21" } }
-
URI POST https://{Endpoint}/v3/{project_id}/configurations/{config_id}/reset 表1 参数说明 名称 参数类型 是否必选 说明 project_id String 是 参数解释: 租户在某一Region下的项目ID。 获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 只能由英文字母、数字组成,且长度为32个字符。 默认取值: 不涉及。 config_id String 是 参数模板ID。
-
配置项详细信息列表 MAS-DB-SDK配置分为props、etcd、sources、router四部分,在SpringBoot项目中配置项使用驼峰风格,详细信息如下表: 表1 props配置项 名称 说明 默认值 备注 props.appId MAS应用ID 空 MAS服务应用列表页中“应用ID”列对应值。 props.monitorId MAS监控器ID 空 MAS服务DB监控页中“监控ID”列对应值。 props.databaseName MAS监控DB名称 空 MAS服务DB监控页选择应用单击“编辑”中连接池配置下“数据库名称”列对应值。 props.decipherClassName 密码解析类 com.huawei.devspore.mas.password.DefaultDecipher 需要实现基类 。com.huawei.devspore.mas.password.Decipher props.version 配置文件版本号 空 当前固定填v1。 props.azs 服务所属AZ信息 空 路由算法为本地读单边写时必填。 props配置项中的值都是取自于本服务在MAS服务注册时展示的值。 props配置项中的值与在MAS服务中的来源请参考props、etcd配置项在MAS服务中如何查询。 表2 etcd配置项 名称 说明 默认值 备注 etcd.address ETCD地址 空 MAS服务总览页单击ETCD连接地址后的查看详情获取。 etcd.apiVersion ETCD接口版本 v3 固定值v3。 etcd.username ETCD用户名 空 MAS服务总览页单击ETCD连接地址后的查看详情获取。 etcd.password ETCD密码 空 MAS服务总览页单击ETCD连接地址后的查看详情获取。 etcd.httpsEnable ETCD是否启用https false 根据ETCD实际情况选择,最新版本的MAS服务etcd均为https,此处需要配置为true,并配置证书路径。 etcd.certificatePath 启用https时证书存放路径 空 https证书存放路径。也支持不使用证书,此时不需要配置该配置项。 etcd配置项中的值都是取自于本服务在MAS服务etcd展示的值。 props配置项中的值与在etcd中的来源请参考props、etcd配置项在MAS服务中如何查询。 etcd.apiVersion填写固定值V3。 etcd.httpsEnable的值取决于ETCD页面“etcd集群地址”访问是http,这里值为false;访问是https,这里值为true。查看方法参考props、etcd配置项在MAS服务中如何查询。 表3 sources数据源配置项 名称 说明 默认值 备注 sources.ds1 数据库节点名称:ds1 空 与MAS服务中连接池中的命名一致。 sources.ds1.driverClassName 数据库驱动类名 空 驱动名称,自定义。 sources.ds1.jdbcUrl 数据库连接地址 空 与MAS服务中连接池中各节点下数据库连接地址一致。 sources.ds1.username 数据库用户名 空 与MAS服务中连接池中各节点下数据库用户名一致。 sources.ds1.password 数据库密码 空 如果密码为加密,需要自定义实现解密类配置:props.decipherClassName sources.ds1.type 数据源类型 空 支持类型如下: com.zaxxer.hikari.HikariDataSource org.apache.commons.dbcp2.BasicDataSource com.alibaba.druid.pool.DruidDataSource sources.ds1.props 数据源类型其他参数 空 根据自己选择的数据源类型配置。 props: connection-timeout: 1000 validation-timeout: 1000 sources主要配置本项目中涉及的一组或者多组数据源,所以上表中"ds1"为数据源的节点名称,如果有多组数据源,按照同样的格式配置多组即可。 对接MAS服务,各组数据源的节点名称与MAS服务中连接池中的命名一致。 无对接MAS服务,各组数据源的节点名称应命名为具有区别意义的名称。 表4 router路由配置 名称 说明 默认值 备注 router.active 默认数据源的激活节点 - - router.routeAlgorithm 路由策略 single-read-write 单边读写single-read-write。 router.nodes.ds1.loadBalance 读写分离负载均衡算法 空 可选项: RANDOM是随机。 ROUND_ROBIN是轮询。 router.nodes.ds1.master 主数据源 空 当slaves为空时,读写流量都在master 当slaves不为空时,读流量在slaves,写流量,DDL,事务操作在master。 router.nodes.ds1.slaves 读写分离读数据源列表 空 - router.nodes.ds1.azs 该数据中心所属AZ信息 空 路由算法为本地读单边写,且未对接MAS平台时必填。 router.nodes配置罗列本项目中数据源路由节点,所以上表中“ds1”为数据源路由节点名称,如果有多组数据源,按照同样的格式配置多组即可。 节点router.nodes.ds1.master下配置的源名称为“表3 sources数据源配置项”中的“sources.ds1”主节点的值。 节点router.nodes.ds1.slaves下配置的源名称为“表3”中的“sources.ds1”从节点的值。 router.active对应值为router.nodes的一个节点名称。 父主题: 参数配置说明
-
请求示例 如下以创建名为“testConfig”,描述为“This is config”的训练作业参数为例。 POST https://endpoint/v1/{project_id}/training-job-configs { "config_name": "testConfig", "config_desc": "This is config", "worker_server_num": 1, "app_url": "/usr/app/", "boot_file_url": "/usr/app/boot.py", "parameter": [ { "label": "learning_rate", "value": "0.01" }, { "label": "batch_size", "value": "32" } ], "spec_id": 1, "dataset_id": "38277e62-9e59-48f4-8d89-c8cf41622c24", "dataset_version_id": "2ff0d6ba-c480-45ae-be41-09a8369bfc90", "engine_id": 1, "train_url": "/usr/train/", "log_url": "/usr/log/", "model_id": 1 }
-
参数说明 表1 Estimator请求参数说明 参数 是否必选 参数类型 描述 modelarts_session 是 Object 会话对象,初始化方法见Session鉴权。 train_instance_count 是 Long 训练作业worker的个数。 code_dir 否 String 训练作业的代码目录,如“/bucket/src/”。当填入model_name时不需要填写。 boot_file 否 String 训练作业的代码启动文件,需要在代码目录下,如“/bucket/src/boot.py”。当填入model_name时不需要填写。 model_name 否 Long 训练作业的内置算法模型名称。填入model_name后app_url与boot_file_url不需填写,framework_type和framework_version也不需要填写。 output_path 是 String 训练作业的输出位置。 hyperparameters 否 JSON Array 训练作业的运行参数,为label-value格式;当为 自定义镜像 训练作业的时候,此参数为容器环境变量。 log_url 否 String 训练作业的日志OBS输出路径URL,默认为空。如:“/usr/log/”。 train_instance_type 是 Long 训练作业选择的资源规格。若选择在训练平台训练,请从查询资源规格列表接口获取。 framework_type 否 String 训练作业选择的引擎规格。请从查询引擎规格列表接口获取引擎规格。当填入model_name时不需要填写。 framework_version 否 String 训练作业选择的引擎版本。请从查询引擎规格列表接口获取引擎版本。当填入model_name时不需要填写。 job_description 否 String 训练作业的描述。 user_image_url 否 String 自定义镜像训练作业的自定义镜像的SWR-URL。如:“100.125.5.235:20202/jobmng/custom-cpu-base:1.0”。 user_command 否 String 自定义镜像训练作业的自定义镜像的容器的启动命令。形式为:“bash /home/work/run_train.sh python /home/work/user-job-dir/app/train.py {python_file_parameter}”。 表2 update_job_configs请求参数说明 参数 是否必选 参数类型 描述 config_name 是 String 训练作业参数名称。限制为1-20位只含数字、字母、下划线或者中划线的名称。当不填写时,默认会按日期动态生成。 config_desc 否 String 对训练作业的描述,默认为空,字符串的长度限制为[0,256]。 inputs 否 String 训练作业的OBS数据存储位置。 dataset_id 否 String 训练作业的数据集ID。应与dataset_version_id同时出现,但不可与inputs同时出现。 dataset_version_id 否 String 训练作业的数据集版本ID。应与dataset_id同时出现,但不可与inputs同时出现。 data_source 否 JSON Array 训练作业使用的数据集。不可与inputs、dataset_id、dataset_version_id同时使用。 表3 data_source属性列表 参数 是否必选 参数类型 描述 dataset_id 否 String 训练作业的数据集ID。 dataset_version 否 String 训练作业的数据集版本ID。 type 是 String 数据集类型。可选值:“obs”、“dataset”。 data_url 否 String obs的桶路径,不可与dataset_id/dataset_version同时出现。 表4 update_job_configs返回参数说明 参数 参数类型 描述 error_msg String 调用失败时的错误信息。 调用成功时无此字段。 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 is_success Boolean 接口调用是否成功。
-
示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 示例一:使用OBS存储位置更新训练作业参数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 from modelarts.session import Session from modelarts.estimator import Estimator session = Session() estimator = Estimator( modelarts_session=session, framework_type='PyTorch', # AI引擎名称 framework_version='PyTorch-1.0.0-python3.6', # AI引擎版本 code_dir='/bucket/src/', # 训练脚本目录 boot_file='/bucket/src/pytorch_sentiment.py', # 训练启动脚本目录 log_url='/bucket/log/', # 训练日志目录 hyperparameters=[ {"label":"classes", "value": "10"}, {"label":"lr", "value": "0.001"} ], output_path='/bucket/output/', # 训练输出目录 train_instance_type='modelarts.vm.gpu.p100', # 训练环境规格 train_instance_count=1) # 训练节点个数 update_info = estimator.update_job_configs(config_name='my_job_config', inputs='/bucket/dataset/', config_desc='update') 示例二:使用数据集更新训练作业参数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 from modelarts.session import Session from modelarts.estimator import Estimator session = Session() estimator = Estimator( modelarts_session=session, framework_type='PyTorch', # AI引擎名称 framework_version='PyTorch-1.0.0-python3.6', # AI引擎版本 code_dir='/bucket/src/', # 训练脚本目录 boot_file='/bucket/src/pytorch_sentiment.py', # 训练启动脚本目录 log_url='/bucket/log/', # 训练日志目录 hyperparameters=[ {"label":"classes", "value": "10"}, {"label":"lr", "value": "0.001"} ], output_path='/bucket/output/', # 训练输出目录 train_instance_type='modelarts.vm.gpu.p100', # 训练环境规格 train_instance_count=1) # 训练节点个数 update_info = estimator.update_job_configs(config_name='my_job_config', dataset_id='4AZNvFkN7KYr5EdhFkH', dataset_version_id='UOF9BIeSGArwVt0oI6T', config_desc='update')
-
URI URI格式 DELETE https://{Endpoint}/v3/{project_id}/configurations/{config_id} URI样例 https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/619d3e78f61b4be68bc5aa0b59edcf7b/configurations/3ca44134a16d4bbab8eb701e025b19f7pr14 参数说明 表1 参数说明 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一region下的project ID。 获取方法请参见获取项目ID。 config_id 是 String 参数模板ID。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格