华为云用户手册

  • 处理步骤 以root用户登录到所有Master节点。 进入/opt/knox/conf/目录,找到ext.properties文件。 修改所有Master节点中的ext.properties配置中的“console-emr”为 “mrs”。 进入/opt/knox/bin/ 目录,并执行su - omm命令切换到omm用户。 执行脚本restart-knox.sh重启knox服务。 再次访问MRS Manager页面即可正常跳转。
  • 配置影响 请根据业务场景对可靠性和性能要求进行评估,采用合理参数配置。 对于价值数据,两种场景下建议Kafka数据目录磁盘配置raid1或者raid5,从而提高单个磁盘故障情况下数据可靠性。 不同Producer API对应的acks参数名称不同 新Producer API 指org.apache.kafka.clients.producer.KafkaProducer中定义的接口,acks配置为acks。 旧Producer API 指kafka.producer.Producer中定义的接口,acks配置名称为request.required.acks。 参数配置项均为Topic级别可修改的参数,默认采用服务级配置。可针对不同Topic可靠性要求对Topic进行单独配置。 例如,配置Topic名称为test的可靠性参数: kafka-topics.sh --zookeeper 192.168.1.205:2181/kafka --alter --topic test --config unclean.leader.election.enable=false --config min.insync.replicas=2 其中192.168.1.205为ZooKeeper业务IP地址。 如果修改服务级配置需要重启Kafka,建议在变更窗口做服务级配置修改。
  • 原因分析 MapReduce任务提交时会将相关配置文件、jar包和-files参数后添加的文件都上传至HDFS的临时目录,方便Container启动后获取相应的文件。系统通过配置项“yarn.app.mapreduce.am.staging-dir”决定具体存放位置,默认值是“/tmp/hadoop-yarn/staging”。 正常运行的MapReduce任务会在Job结束以后就清理这些临时文件,但是当Job对应的Yarn任务异常退出时,这些临时文件不会被清理,长时间积攒导致该临时目录下的文件数量越来越多,占用存储空间越来越多。
  • 原因分析 使用以下命令统计节点进程的线程数并排序。 ps -efT | awk '{print $2}' |sort -n |uniq -c |sort -n 执行后结果如下: 查看启动线程数最多的进程,案例中进程2346为NameNode进程,启动了5.4万线程,且持续增长。 多次打印对应进程的jstack日志,根据jstack日志信息发现,NameNode存在大量线程处于WAITING,且长期不释放。 结合以上问题分析如下:NameNode存在内置机制,根据WARN日志信息自动开启DEBUG日志,在环境中由于选择副本失败,导致一直启动Debug日志,不停的修改log4j,修改组件的log4j后进程会自动加载该配置文件,此时就会有新的线程自动产生,长时间后就会触发该告警。 出现这种情况时,将内置机制关闭,禁止自动修改日志级别即可恢复。
  • 处理步骤 登录MRS控制台,单击集群名称进入集群详情页面查看集群状态,确保集群状态为“运行中”。 单击“节点管理”,查看所有节点的状态,确保所有节点的状态为“运行中”。 登录集群的podMaster节点跳转到MRS的deployer节点,查看api-gateway.log的日志。 用kubectl get pod -n mrs命令查看MRS对应的deployer节点的pod。 用kubectl exec -ti ${deployer节点的pod} -n mrs /bin/bash命令登录相应的pod,如执行kubectl exec -ti mrsdeployer-78bc8c76cf-mn9ss -n mrs /bin/bash命令进入MRS的deployer容器。 在/opt/cloud/logs/apigateway目录下查看最新的api-gateway.log日志,检索里面的关键信息(如:ERROR,scaling,clusterScaling,HostState,state-check,集群ID等)查看报错类型。 根据报错提示信息进行相应处理,然后再次执行扩容操作。 扩容成功,则处理完成。 扩容失败,则执行4。 用/opt/cloud/mysql -u${用户名} -P${端口} -h${地址} -p${密码}登录数据库。 执行select cluster_state from cluster_detail where cluster_id="集群ID";查看cluster_state。 cluster_state为2,则集群状态正常,执行6。 cluster_state不为2,说明集群状态在数据库中异常,可用update cluster_detail set cluster_state=2 where cluster_id="集群ID";刷新集群状态,并查看cluster_state。 cluster_state为2,则集群状态正常,执行6 cluster_state不为2,则请提交工单进行处理。 执行select host_status from host where cluster_di="clusterID";命令查询集群主机状态。 如果主机状态为started,则处理完成。 如果主机状态不为started,则可执行update host set host_status='started' where cluster_id="集群ID";命令更新主机状态到数据库。 如果主机状态为started,则处理完成。 如果主机状态不为started,则请提交工单进行处理。
  • 原因分析 Flume文件或文件夹权限异常,重启后Manager界面提示如下信息: [2019-02-26 13:38:02]RoleInstance prepare to start failure [{ScriptExecutionResult=ScriptExecutionResult [exitCode=126, output=, errMsg=sh: line 1: /opt/Bigdata/MRS_XXX/install/FusionInsight-Flume-1.9.0/flume/bin/flume-manage.sh: Permission denied
  • 处理步骤 获取ZooKeeper的IP地址及端口信息,具体请参考如何获取ZooKeeper地址?。 以root用户登录Master节点。 初始化环境变量。 source /opt/client/bigdata_env 执行以下命令连接ZooKeeper。 zkCli.sh -server ZooKeeper所在节点的IP:端口 ZooKeeper所在节点的IP即为1中查到的结果,多个IP之间以逗号间隔。 使用ls /等常用的命令查看ZooKeeper上的信息。
  • 处理步骤 以root用户登录集群主Master节点。 修改“${BIGDATA_HOME}/om-server/om/inst/conf/oms-config.ini”和“${BIGDATA_HOME}/om-server/OMS/workspace0/conf/oms-config.ini”配置文件,在“ntp_server_ip”参数值前添加“ntp.myhuaweicloud.com,” ... ntp_server_ip=ntp.myhuaweicloud.com,10.127.1.0 ... 以root用户登录集群备Master节点,执行2。 等待约2分钟,在主Master节点执行以下命令观察IP同步成功。 ntpq -np 例如执行后结果如下:
  • 响应参数 状态码: 201 表5 响应Body参数 参数 参数类型 描述 job_id String 任务ID。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误消息。 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误消息。
  • 请求示例 开启数据库代理,规格2U8GB,代理模式只读模式。 POST https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances/43e4feaab48f11e89039fa163ebaa7e4br01/proxy { "flavor_ref" : "gaussdb.mysql.large.x86.4", "node_num" : 2, "proxy_name" : "gaussdb-proxy", "proxy_mode" : "readonly", "route_mode" : 0, "nodes_read_weight" : [ { "id" : "45021bf73a244312a3f2af95092feeecno07", "weight" : 50 }, { "id" : "d78a65690cea4af5ad14585e110ff89bno07", "weight" : 400 } ], "subnet_id" : "6991d82d-9166-4aff-a1fa-d2a8748b7084" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 请求语言类型。默认en-us。 取值范围: en-us zh-cn 表3 请求Body参数 参数 是否必选 参数类型 描述 flavor_ref 是 String 数据库代理规格码。 node_num 是 Integer 数据库代理节点数,取值整数2-32。 proxy_name 否 String 数据库代理名称。用于表示实例的名称,同一租户下,同类型的实例名可重名。 取值范围:4~64个字符之间,必须以字母开头,区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。 proxy_mode 否 String 数据库代理类型。默认类型为readwrite。 枚举值: readwrite readonly route_mode 否 Integer 数据库代理路由模式,默认为0,权重负载模式。 取值范围: 0:表示权重负载模式。 1:表示负载均衡模式(数据库主节点不接受读请求)。 2:表示负载均衡模式(数据库主节点接受读请求)。 nodes_read_weight 否 Array of NodesWeight objects 数据库节点的读权重设置。 在proxy_mode为readonly时,只能为只读节点选择权重。 subnet_id 否 String 数据库VPC下的子网ID。 表4 NodesWeight 参数 是否必选 参数类型 描述 id 否 String 数据库节点ID。 weight 否 Integer 权重: 如果路由模式为0,取值为0~1000。 如果路由模式为1,数据库主节点取值为0,只读节点取值为0或1。 如果路由模式为2,数据库主节点取值为1,只读节点取值为0或1。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 详细的公共请求消息头字段请参见表3。 表3 公共请求消息头 名称 描述 是否必选 示例 Host 请求的服务器信息,从服务API的URL中获取。值为hostname[:port]。端口缺省时使用默认的端口,https的默认端口为443。 否 使用AK/SK认证时该字段必选。 code.test.com or code.test.com:443 Content-Type 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 是 application/json Content-Length 请求body长度,单位为Byte。 否 3495 X-Project-Id project id,项目编号。请参考获取项目ID章节获取项目编号。 否 e9993fc787d94b6c886cbaa340f9c0f4 X-Auth-Token 用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 否 使用Token认证时该字段必选。 注:以下仅为Token示例片段 MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 1 2 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
  • 请求消息体(可选) 该部分可选。请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的帐号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的名称,如“cn-north-1”,您可以从地区和终端节点获取。 scope参数定义了Token的作用域,上面示例中获取的Token仅能访问project下的资源。您还可以设置Token的作用域为某个帐号下所有资源或帐号的某个project下的资源,详细定义请参见获取用户Token。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxxxxxxxxxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 表2 HTTP方法 方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: 1 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  • 请求URI 请求URI由如下部分组成: {URI-scheme}://{Endpoint}/{resource-path}?{query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 表1 URI中的参数说明 参数 描述 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点获取。 例如IAM服务在“华北-北京一”区域的Endpoint为“iam.cn-north-1.myhuaweicloud.com”。 resource-path 资源路径,即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如您需要获取IAM在“华北-北京一”区域的Token,则需使用“华北-北京一”区域的Endpoint(iam.cn-north-1.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 1 https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小12MB以内,12MB以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 在构造请求中以调用获取用户Token接口为例说明了如何调用API。 获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 1 2 3 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ABCDEFJ....
  • 响应示例 状态码: 200 Success. { "backups" : [ { "id" : "7420f28010084e838113e78f77093093br07", "name" : "GaussDBforMySQL-gauss-e747-20200708185048266", "begin_time" : "2020-07-08T18:41:14+0800", "end_time" : "2020-07-08T20:45:14+0800", "take_up_time" : 2, "status" : "COMPLETED", "type" : "auto", "size" : 2803, "datastore" : { "type" : "gaussdb-mysql", "version" : "8.0" }, "instance_id" : "3ef58db3986540d19f95151309368d34in07", "instance_name" : "GaussDBforMySQL-gauss-e747", "backup_level" : "2" } ], "total_count" : 1 }
  • 请求示例 查询时间段内(2020-07-06~2020-07-16)的自动备份列表。 GET https://{endpoint}/v3/97b026aa9cc4417888c14c84a1ad9860/backups?instance_id=3ef58db3986540d19f95151309368d34in07&backup_id=7420f28010084e838113e78f77093093br07&backup_type=auto&offset=0&limit=10&begin_time=2020-07-06T10:41:14+0800&end_time=2020-07-16T10:41:14+0800
  • URI GET /v3/{project_id}/backups 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的project ID。 获取方法请参见获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 instance_id 否 String 实例ID,严格匹配UUID规则。 backup_id 否 String 备份ID。 backup_type 否 String 备份类型。 取值范围: auto:自动全量备份。 manual:手动全量备份。 offset 否 String 索引位置,偏移量。从第一条数据偏移offset条数据后开始查询,默认为0(偏移0条数据,表示从第一条数据开始查询),必须为数字,不能为负数。 limit 否 String 查询记录数。默认为100,不能为负数,最小值为1,最大值为100。 begin_time 否 String 查询开始时间,格式为“yyyy-mm-ddThh:mm:ssZ”。 其中,T指某个时间的开始;Z指时区偏移量,例如偏移1个小时显示为+0100。 end_time 否 String 查询结束时间,格式为“yyyy-mm-ddThh:mm:ssZ”,且大于查询开始时间。 其中,T指某个时间的开始;Z指时区偏移量,例如偏移1个小时显示为+0100。 name 否 String 备份名称。 instance_name 否 String 实例名称。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 backups Array of backups objects 备份信息。 total_count Long 备份文件的总数。 表5 backups 参数 参数类型 描述 id String 备份ID。 name String 备份名称。 begin_time String 备份开始时间,格式为“yyyy-mm-ddThh:mm:ssZ”。 其中,T指某个时间的开始;Z指时区偏移量,例如偏移1个小时显示为+0100。 end_time String 备份结束时间,格式为“yyyy-mm-ddThh:mm:ssZ”。 其中,T指某个时间的开始;Z指时区偏移量,例如偏移1个小时显示为+0100。 status String 备份状态,取值: BUILDING:备份中。 COMPLETED:备份完成。 FAILED:备份失败。 AVAILABLE:备份可用。 枚举值: BUILDING COMPLETED FAILED AVAILABLE take_up_time Integer 备份花费时间(单位:minutes)。 type String 备份类型,取值: auto:自动全量备份。 manual:手动全量备份。 枚举值: auto manual size Long 备份大小(单位:MB)。 datastore MysqlDatastoreInBackup object 数据库信息。 instance_id String 实例ID,严格匹配UUID规则。 instance_name String 实例名称。 backup_level String 备份级别。当开启一级备份开关时,返回该参数。 取值: 0:备份正在创建中或者备份失败。 1:一级备份。 2:二级备份。 枚举值: 0 1 2 description String 备份文件描述信息。 表6 MysqlDatastoreInBackup 参数 参数类型 描述 type String 数据库引擎,现在只支持gaussdb-mysql。 version String 数据库版本。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误消息。 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误消息。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 backup_id String 备份ID。 backup_name String 备份名称。 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误消息。 状态码: 500 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误消息。
  • 响应示例 状态码: 200 Success. { "proxy_list" : [ { "proxy" : { "pool_id" : "2e7cf21d14794bafab623a334efd9ad8po01", "status" : "ACTIVE", "address" : "192.168.125.69", "port" : 3306, "pool_status" : "ACTIVE", "delay_threshold_in_seconds" : 30, "elb_vip" : "192.168.125.60", "eip" : "192.168.125.50", "vcpus" : 4, "ram" : 8, "node_num" : 2, "mode" : "Cluster", "nodes" : [ { "id" : "db53a238a02240c49365e72e284a4890pn01", "name" : "PROXY-2e7cf21d14794bafab623a334efd9ad8po01_0", "role" : "master", "az_code" : "az1xahz", "status" : "ACTIVE", "frozen_flag" : 0 } ], "name" : "proxy-name", "connection_pool_type" : "SESSION", "switch_connection_pool_type_enabled" : true, "route_mode" : 1, "balance_route_mode_enabled" : true, "transaction_split" : false, "consistence_mode" : "session", "subnet_id" : "6991d82d-9166-4aff-a1fa-d2a8748b7084" }, "master_node" : { "id" : "c01a5645eb2c4fb6a9373542f5366e50no07", "instance_id" : "517ea793ab91438cbfcd9c4b1c958b1ein07", "status" : "ACTIVE", "name" : "taurus_mysql80_x86-ondemand-2-1U4G_1_202103070251274842281_node01", "weight" : 0, "availability_zone" : [ { "code" : "az1", "description" : "可用区1" } ] }, "readonly_nodes" : { "id" : "d23535333138462880bfa1838fdfced2no07", "instance_id" : "517ea793ab91438cbfcd9c4b1c958b1ein07", "status" : "ACTIVE", "name" : "taurus_mysql80_x86-ondemand-2-1U4G_1_202103070251274842281_node02", "weight" : 100, "availability_zone" : [ { "code" : "az1", "description" : "可用区1" } ] } } ] }
  • URI GET /v3/{project_id}/instances/{instance_id}/proxies 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的project ID。 获取方法请参见获取项目ID。 instance_id 是 String 实例ID,严格匹配UUID规则。 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 索引位置,偏移量。从第一条数据偏移offset条数据后开始查询,默认为0(偏移0条数据,表示从第一条数据开始查询),必须为数字,不能为负数。 limit 否 Integer 查询记录数。默认为10,不能为负数,最小值为1,最大值为100。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 proxy_list Array of MysqlShowProxyResponseV3 objects 数据库代理信息列表。 表5 MysqlShowProxyResponseV3 参数 参数类型 描述 proxy MysqlProxyV3 object 数据库代理信息。 master_node MysqlProxyNodeV3 object 主节点信息。 readonly_nodes Array of MysqlProxyNodeV3 objects 只读节点信息。 表6 MysqlProxyV3 参数 参数类型 描述 pool_id String 数据库代理ID。 status String 数据库代理开启状态。 取值: ACTIVE:表示数据库代理正常。 FAILED:表示数据库代理创建失败。 DELETED:表示数据库代理已删除。 ABNORMAL:表示数据库代理异常。 ENABLING PROXY:表示数据库代理正在开启。 DISABLING PROXY:表示数据库代理正在关闭。 ADDING PROXY NODE:表示数据库代理正在扩容。 DELETING READ REPLICAS FROM PROXY:表示数据库代理正在移除只读节点。 ADDING READ REPLICAS TO PROXY:表示数据库代理正在添加只读节点。 CHANGING WEIGHTS:表示数据库代理正在修改只读节点权重。 address String Proxy读写分离地址。 port Integer Proxy端口信息。 pool_status String 数据库代理状态。 取值范围: ACTIVE:表示数据库代理正常。 ABNORMAL:表示数据库代理异常。 FAILED:表示数据库代理创建失败。 DELETED:表示数据库代理已删除。 delay_threshold_in_seconds Integer 延时阈值,单位:秒。 elb_vip String Elb模式的虚拟IP信息。 eip String 弹性公网IP地址地址信息。 vcpus String 数据库代理规格的CPU数量。 ram String 数据库代理规格的内存数量。 node_num Integer 数据库代理节点个数。 mode String 数据库代理主备模式,取值范围:Cluster。 nodes Array of MysqlProxyNodes objects 数据库代理节点信息。 flavor_ref String 数据库代理规格信息。 name String 数据库代理名称。 transaction_split String 数据库代理事务拆分开关状态。 ON:开启。 OFF:关闭。 connection_pool_type String 连接池类型。 取值范围: CLOSED: 关闭连接池。 SESSION: 开启会话级连接池。 switch_connection_pool_type_enabled Boolean 数据库代理版本是否支持会话级连接池。 取值范围: true: 支持。 false: 不支持。 route_mode Integer 数据库代理路由模式,默认为0,权重负载模式。 取值范围: 0:表示权重负载模式。 1:表示负载均衡模式(数据库主节点不接受读请求)。 2:表示负载均衡模式(数据库主节点接受读请求)。 balance_route_mode_enabled Boolean 数据库代理版本是否支持负载均衡模式。 取值范围: true 支持; false 不支持。 consistence_mode String 一致性模式。默认值为空,此时以会话一致性参数session_consistence的值为准。 取值范围: session: 会话一致性。 global: 全局一致性。 eventual: 最终一致性。 subnet_id String 数据库代理所属的子网ID。 表7 MysqlProxyNodes 参数 参数类型 描述 id String 数据库代理节点ID。 status String 数据库代理节点状态。 取值范围: ACTIVE:表示节点正常。 ABNORMAL:表示节点异常。 FAILED:表示节点失败。 DELETED:表示节点已删除。 name String 数据库代理节点名称。 role String 数据库代理节点角色: master:主节点。 slave:备节点。 az_code String 可用区。 frozen_flag Integer 数据库代理节点是否被冻结。 取值范围: 0:未冻结。 1:冻结。 2:冻结删除。 表8 MysqlProxyNodeV3 参数 参数类型 描述 id String 节点ID。 instance_id String 实例ID,严格匹配UUID规则。 status String 节点状态。 name String 节点名称。 weight Integer 节点读写分离读权重。 availability_zone Array of MysqlProxyAvailable objects 可用区信息。 表9 MysqlProxyAvailable 参数 参数类型 描述 code String 可用区编码。 description String 可用区描述。 状态码: 400 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误消息。 状态码: 500 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误消息。
  • 请求示例 修改指定实例的参数。 PUT https://{endpoint}/v3/97b026aa9cc4417888c14c84a1ad9860/instances/3ef58db3986540d19f95151309368d34in07/configurations { "parameter_values" : { "max_user_connections" : "100" } }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 job_id String 修改指定实例参数的任务ID。 restart_required Boolean 是否需要重启。 true:是。 false:否。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误消息。 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误消息。
  • 响应示例 状态码: 200 Success. { "instance_id" : "61a4ea66210545909d74a05c27a7179ein07", "instance_name" : "gauss-test-1", "switch_status" : { "scaling_switch" : "ON", "flavor_switch" : "ON", "read_only_switch" : "ON" } }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 instance_id String 实例ID。 instance_name String 实例名称。 switch_status AutoScalingSwitchStatus object 开关状态。 表6 AutoScalingSwitchStatus 参数 参数类型 描述 scaling_switch String 自动变配开关状态。 取值: ON:开启。 OFF:关闭。 flavor_switch String 扩缩规格开关状态。 取值: ON:开启。 OFF:关闭。 read_only_switch String 增删只读节点开关状态。 取值: ON:开启。 OFF:关闭。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误消息。 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误消息。
  • 请求示例 设置自动变配。 PUT https://{endpoint}/v3/97b026aa9cc4417888c14c84a1ad9860/instances/61a4ea66210545909d74a05c27a7179ein07/auto-scaling/policy { "enlarge_threshold" : 50, "max_flavor" : "gaussdb.mysql.large.x86.4", "max_read_only_count" : 2, "monitor_cycle" : 300, "read_only_weight" : 10, "reduce_enabled" : false, "scaling_strategy" : { "flavor_switch" : "ON", "read_only_switch" : "ON" }, "silence_cycle" : 300, "status" : "ON" }
共100000条