云服务器内容精选

  • 响应示例 状态码: 200 查看弹性伸缩策略成功 [ { "node_group_name" : "task_node_analysis_group", "resource_pool_name" : "default", "auto_scaling_policy" : { "auto_scaling_enable" : true, "min_capacity" : 0, "max_capacity" : 1, "resources_plans" : [ { "period_type" : "daily", "effective_days" : [ "SUNDAY" ], "start_time" : "12:00", "end_time" : "13:00", "min_capacity" : 2, "max_capacity" : 3 } ], "rules" : [ { "name" : "default-expand-1", "description" : "", "adjustment_type" : "scale_out", "cool_down_minutes" : 5, "scaling_adjustment" : 1, "trigger" : { "metric_name" : "YARNAppRunning", "metric_value" : 100, "comparison_operator" : "GTOE", "evaluation_periods" : 1 } } ] } } ]
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 [数组元素] Array of AutoScalingPolicyV2 objects 弹性伸缩策略列表 表3 AutoScalingPolicyV2 参数 参数类型 描述 node_group_name String 节点组名称。 resource_pool_name String 资源计划名称 auto_scaling_policy AutoScalingPolicy object 弹性伸缩规则 表4 AutoScalingPolicy 参数 参数类型 描述 auto_scaling_enable Boolean 当前自动伸缩规则是否开启。 min_capacity Integer 指定该节点组的最小保留节点数。 取值范围:[0~500] max_capacity Integer 指定该节点组的最大节点数。 取值范围:[0~500] resources_plans Array of ResourcesPlan objects 资源计划列表。若该参数为空表示不启用资源计划。 当启用弹性伸缩时,资源计划与自动伸缩规则需至少配置其中一种。 rules Array of Rule objects 自动伸缩的规则列表。当启用弹性伸缩时,资源计划与自动伸缩规则需至少配置其中一种。 exec_scripts Array of ScaleScript objects 弹性伸缩自定义自动化脚本列表。若该参数为空表示不启用自动化脚本。 表5 ResourcesPlan 参数 参数类型 描述 period_type String 资源计划的周期类型,当前只允许以下类型: daily start_time String 资源计划的起始时间,格式为“hour:minute”,表示时间在0:00-23:59之间。 end_time String 资源计划的结束时间,格式与“start_time”相同,不早于start_time表示的时间,且与start_time间隔不小于30min。 min_capacity Integer 资源计划内该节点组的最小保留节点数。 取值范围:[0~500] max_capacity Integer 资源计划内该节点组的最大保留节点数。 取值范围:[0~500] effective_days Array of Strings 资源计划的生效日期,为空时代表每日,另外也可为以下返回值: MONDAY(周一)、TUESDAY(周二)、WEDNESDAY(周三)、THURSDAY(周四)、FRIDAY(周五)、SATURDAY(周六)、SUNDAY(周日) 表6 Rule 参数 参数类型 描述 name String 弹性伸缩规则的名称。 只能由字母、数字、中划线和下划线组成,并且长度为1~64个字符。 在一个节点组范围内,不允许重名。 description String 弹性伸缩规则的说明。 最大长度为1024字符。 adjustment_type String 弹性伸缩规则的调整类型,只允许以下类型: 枚举值: scale_out:扩容 scale_in:缩容 cool_down_minutes Integer 触发弹性伸缩规则后,该集群处于冷却状态(不再执行弹性伸缩操作)的时长,单位为分钟。 取值范围[0~10080],10080为一周的分钟数。 scaling_adjustment Integer 单次调整集群节点的个数。 取值范围[1~100] trigger Trigger object 描述该规则触发条件。 表7 Trigger 参数 参数类型 描述 metric_name String 指标名称。 该触发条件会依据该名称对应指标的值来进行判断。 最大长度为64个字符。 metric_value String 指标阈值。 触发该条件的指标阈值,只允许输入整数或者带两位小数的数。 comparison_operator String 指标判断逻辑运算符,包括: LT:小于 GT:大于 LTOE:小于等于 GTOE:大于等于 evaluation_periods Integer 判断连续满足指标阈值的周期数(一个周期为5分钟)。 取值范围[1~288] 表8 ScaleScript 参数 参数类型 描述 name String 弹性伸缩自定义自动化脚本的名称,同一个集群的自定义自动化脚本名称不允许相同。 只能由数字、英文字符、空格、中划线和下划线组成,且不能以空格开头。 可输入的字符串长度为1~64个字符。 uri String 自定义自动化脚本的路径。设置为OBS桶的路径或虚拟机本地的路径。 OBS桶的路径:直接手动输入脚本路径。示例:obs://XXX/scale.sh 虚拟机本地的路径:用户需要输入正确的脚本路径。脚本所在的路径必须以‘/’开头,以.sh结尾。 parameters String 自定义自动化脚本参数。 多个参数间用空格隔开。 可以传入以下系统预定义参数: ${mrs_scale_node_num}:扩缩容节点数 ${mrs_scale_type}:扩缩容类型,扩容为scale_out,缩容为scale_in ${mrs_scale_node_hostnames}:扩缩容的节点主机名称 ${mrs_scale_node_ips}:扩缩容的节点IP ${mrs_scale_rule_name}:触发扩缩容的规则名 其他用户自定义参数使用方式与普通shell脚本相同,多个参数中间用空格隔开。 nodes Array of Strings 自定义自动化脚本所执行的节点组名称。 active_master Boolean 自定义自动化脚本是否只运行在主Master节点上。 缺省值为false,表示自定义自动化脚本可运行在所有Master节点上。 fail_action String 自定义自动化脚本执行失败后,是否继续执行后续脚本和创建集群。 说明: 建议您在调试阶段设置为“continue”,无论此自定义自动化脚本是否执行成功,则集群都能继续安装和启动。 由于缩容成功无法回滚,因此缩容后执行的脚本“fail_action”必须设置为“continue”。 枚举值: continue:继续执行后续脚本。 errorout:终止操作。 action_stage String 脚本执行时机。 枚举值: before_scale_out:扩容前 before_scale_in:缩容前 after_scale_out:扩容后 after_scale_in:缩容后 状态码: 400 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 node_group 是 String 弹性伸缩规则适用的节点类型,当前只支持task节点。 auto_scaling_policy 是 AutoScalingPolicy object 弹性伸缩规则。 表3 AutoScalingPolicy 参数 是否必选 参数类型 描述 auto_scaling_enable 是 Boolean 当前自动伸缩规则是否开启。 min_capacity 是 Integer 指定该节点组的最小保留节点数。 取值范围:[0~500] max_capacity 是 Integer 指定该节点组的最大节点数。 取值范围:[0~500] resources_plans 否 Array of ResourcesPlan objects 资源计划列表。若该参数为空表示不启用资源计划。 当启用弹性伸缩时,资源计划与自动伸缩规则需至少配置其中一种。 rules 否 Array of Rule objects 自动伸缩的规则列表。 当启用弹性伸缩时,资源计划与自动伸缩规则需至少配置其中一种。 exec_scripts 否 Array of ScaleScript objects 弹性伸缩自定义自动化脚本列表。若该参数为空表示不启用自动化脚本。 表4 ResourcesPlan 参数 是否必选 参数类型 描述 period_type 是 String 资源计划的周期类型,当前只允许以下类型: daily start_time 是 String 资源计划的起始时间,格式为“hour:minute”,表示时间在0:00-23:59之间。 end_time 是 String 资源计划的结束时间,格式与“start_time”相同,不早于start_time表示的时间,且与start_time间隔不小于30min。 min_capacity 是 Integer 资源计划内该节点组的最小保留节点数。 取值范围:[0~500] max_capacity 是 Integer 资源计划内该节点组的最大保留节点数。 取值范围:[0~500] 表5 Rule 参数 是否必选 参数类型 描述 name 是 String 弹性伸缩规则的名称。 只能由字母、数字、中划线和下划线组成,并且长度为1~64个字符。 在一个节点组范围内,不允许重名。 description 否 String 弹性伸缩规则的说明。 最大长度为1024字符。 adjustment_type 是 String 弹性伸缩规则的调整类型,只允许以下类型: 枚举值: scale_out:扩容 scale_in:缩容 cool_down_minutes 是 Integer 触发弹性伸缩规则后,该集群处于冷却状态(不再执行弹性伸缩操作)的时长,单位为分钟。 取值范围[0~10080],10080为一周的分钟数。 scaling_adjustment 是 Integer 单次调整集群节点的个数。 取值范围[1~100] trigger 是 Trigger object 描述该规则触发条件。 表6 Trigger 参数 是否必选 参数类型 描述 metric_name 是 String 指标名称。 该触发条件会依据该名称对应指标的值来进行判断。 最大长度为64个字符。 详细指标名称内容请参见"配置MRS集群弹性伸缩" metric_value 是 String 指标阈值。 触发该条件的指标阈值,只允许输入整数或者带两位小数的数。 comparison_operator 否 String 指标判断逻辑运算符,包括: LT:小于 GT:大于 LTOE:小于等于 GTOE:大于等于 evaluation_periods 是 Integer 判断连续满足指标阈值的周期数(一个周期为5分钟)。 取值范围[1~288] 表7 ScaleScript 参数 是否必选 参数类型 描述 name 是 String 弹性伸缩自定义自动化脚本的名称,同一个集群的自定义自动化脚本名称不允许相同。 只能由数字、英文字符、空格、中划线和下划线组成,且不能以空格开头。 可输入的字符串长度为1~64个字符。 uri 是 String 自定义自动化脚本的路径。设置为OBS桶的路径或虚拟机本地的路径。 OBS桶的路径:直接手动输入脚本路径。示例:s3a://XXX/scale.sh 虚拟机本地的路径:用户需要输入正确的脚本路径。脚本所在的路径必须以‘/’开头,以.sh结尾。 parameters 否 String 自定义自动化脚本参数。 多个参数间用空格隔开。 可以传入以下系统预定义参数: ${mrs_scale_node_num}:扩缩容节点数 ${mrs_scale_type}:扩缩容类型,扩容为scale_out,缩容为scale_in ${mrs_scale_node_hostnames}:扩缩容的节点主机名称 ${mrs_scale_node_ips}:扩缩容的节点IP ${mrs_scale_rule_name}:触发扩缩容的规则名 其他用户自定义参数使用方式与普通shell脚本相同,多个参数中间用空格隔开。 nodes 是 Array of strings 自定义自动化脚本所执行的节点组名称(非自定义集群也可使用节点类型,包含Master、Core和Task三种类型)。 active_master 否 Boolean 自定义自动化脚本是否只运行在主Master节点上。 缺省值为false,表示自定义自动化脚本可运行在所有Master节点上。 fail_action 是 String 自自定义自动化脚本执行失败后,是否继续执行后续脚本和创建集群。 说明: 建议您在调试阶段设置为“continue”,无论此自定义自动化脚本是否执行成功,则集群都能继续安装和启动。 由于缩容成功无法回滚,因此缩容后执行的脚本“fail_action”必须设置为“continue”。 枚举值: continue:继续执行后续脚本。 errorout:终止操作。 action_stage 是 String 脚本执行时机。 枚举值: before_scale_out:扩容前 before_scale_in:缩容前 after_scale_out:扩容后 after_scale_in:缩容后
  • 请求示例 配置集群弹性伸缩规则 POST https://{endpoint}/v1.1/{project_id}/autoscaling-policy/{cluster_id}{ "node_group" : "task_node_analysis_group", "auto_scaling_policy" : { "auto_scaling_enable" : "true", "min_capacity" : "1", "max_capacity" : "3", "resources_plans" : [ { "period_type" : "daily", "start_time" : "9:50", "end_time" : "10:20", "min_capacity" : "2", "max_capacity" : "3" }, { "period_type" : "daily", "start_time" : "10:20", "end_time" : "12:30", "min_capacity" : "0", "max_capacity" : "2" } ], "exec_scripts" : [ { "name" : "before_scale_out", "uri" : "s3a://XXX/zeppelin_install.sh", "parameters" : "${mrs_scale_node_num} ${mrs_scale_type} xxx", "nodes" : [ "master_node_default_group", "core_node_analysis_group", "task_node_analysis_group" ], "active_master" : "true", "action_stage" : "before_scale_out", "fail_action" : "continue" }, { "name" : "after_scale_out", "uri" : "s3a://XXX/storm_rebalance.sh", "parameters" : "${mrs_scale_node_hostnames} ${mrs_scale_node_ips}", "nodes" : [ "master_node_default_group", "core_node_analysis_group", "task_node_analysis_group" ], "active_master" : "true", "action_stage" : "after_scale_out", "fail_action" : "continue" } ], "rules" : [ { "name" : "default-expand-1", "adjustment_type" : "scale_out", "cool_down_minutes" : "5", "scaling_adjustment" : "1", "trigger" : { "metric_name" : "YARNMemoryAvailablePercentage", "metric_value" : "25", "comparison_operator" : "LT", "evaluation_periods" : "10" } }, { "name" : "default-shrink-1", "adjustment_type" : "scale_in", "cool_down_minutes" : "5", "scaling_adjustment" : "1", "trigger" : { "metric_name" : "YARNMemoryAvailablePercentage", "metric_value" : "70", "comparison_operator" : "GT", "evaluation_periods" : "10" } } ] }}