配置弹性伸缩规则
功能介绍
对弹性伸缩规则进行编辑。
在创建集群并执行作业接口中也可以创建弹性伸缩规则。
接口约束
无
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
请求参数
| 
        参数名  | 
      
        是否必选  | 
      
        参数类型  | 
      
        说明  | 
     
|---|---|---|---|
| 
        node_group  | 
      
        是  | 
      
        String  | 
      
        参数解释: 弹性伸缩规则适用的节点类型,当前只支持Task节点。 约束限制: 不涉及 取值范围: 
 默认取值: 不涉及  | 
     
| 
        auto_scaling_policy  | 
      
        是  | 
      
        AutoScalingPolicy object  | 
      
        参数解释: 弹性伸缩规则。详细参数说明请参考表3。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及  | 
     
| 
        参数名  | 
      
        是否必选  | 
      
        参数类型  | 
      
        说明  | 
     
|---|---|---|---|
| 
        auto_scaling_enable  | 
      
        是  | 
      
        Boolean  | 
      
        参数解释: 当前自动伸缩规则是否开启。 约束限制: 不涉及 取值范围: 
 默认取值: 不涉及  | 
     
| 
        min_capacity  | 
      
        是  | 
      
        Integer  | 
      
        参数解释: 指定该节点组的最小保留节点数。 约束限制: 不涉及 取值范围: 0-500 默认取值: 不涉及  | 
     
| 
        max_capacity  | 
      
        是  | 
      
        Integer  | 
      
        参数解释: 指定该节点组的最大节点数。 约束限制: 不涉及 取值范围: 0-500 默认取值: 不涉及  | 
     
| 
        resources_plans  | 
      
        否  | 
      
        List  | 
      
        参数解释: 资源计划列表,详细说明请参见表4。若该参数为空表示不启用资源计划。 约束限制: 当启用弹性伸缩时,资源计划与自动伸缩规则需至少配置其中一种。 取值范围: 不涉及 默认取值: 不涉及  | 
     
| 
        exec_scripts  | 
      
        否  | 
      
        List  | 
      
        参数解释: 弹性伸缩自定义自动化脚本列表。详细说明请参见表5。若该参数为空表示不启用钩子脚本。 约束限制: 不能超过10条。 取值范围: 不涉及 默认取值: 不涉及  | 
     
| 
        rules  | 
      
        否  | 
      
        List  | 
      
        参数解释: 自动伸缩的规则列表,详细说明请参见表6。 约束限制: 当启用弹性伸缩时,资源计划与自动伸缩规则需至少配置其中一种。不能超过10条。 取值范围: 不涉及 默认取值: 不涉及  | 
     
| 
        参数名  | 
      
        是否必选  | 
      
        参数类型  | 
      
        说明  | 
     
|---|---|---|---|
| 
        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 默认取值: 不涉及  | 
     
| 
        参数名  | 
      
        是否必选  | 
      
        参数类型  | 
      
        说明  | 
     
|---|---|---|---|
| 
        name  | 
      
        是  | 
      
        String  | 
      
        参数解释: 弹性伸缩自定义自动化脚本的名称。 约束限制: 不涉及 取值范围: 同一个集群的自定义自动化脚本名称不允许相同。 只能由数字、英文字符、空格、中划线和下划线组成,且不能以空格开头。 可输入的字符串长度为1~64个字符。 默认取值: 不涉及  | 
     
| 
        uri  | 
      
        是  | 
      
        String  | 
      
        参数解释: 自定义自动化脚本的路径。设置为OBS桶的路径或虚拟机本地的路径。 
 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及  | 
     
| 
        parameters  | 
      
        否  | 
      
        String  | 
      
        参数解释: 自定义自动化脚本参数。 
 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及  | 
     
| 
        nodes  | 
      
        是  | 
      
        Array of strings  | 
      
        参数解释: 自定义自动化脚本所执行的节点类型,包含Master、Core和Task三种类型。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及  | 
     
| 
        active_master  | 
      
        否  | 
      
        Boolean  | 
      
        参数解释: 自定义自动化脚本是否只运行在主Master节点上。 约束限制: 不涉及 取值范围: 
 默认取值: false  | 
     
| 
        action_stage  | 
      
        是  | 
      
        String  | 
      
        参数解释: 脚本执行时机。 约束限制: 不涉及 取值范围: 
 默认取值: 不涉及  | 
     
| 
        fail_action  | 
      
        是  | 
      
        String  | 
      
        参数解释: 自定义自动化脚本执行失败后,是否继续执行后续脚本和创建集群。 约束限制: 不涉及 取值范围: 
 默认取值: 不涉及 
         说明: 
         
  | 
     
| 
        参数名  | 
      
        是否必选  | 
      
        参数类型  | 
      
        说明  | 
     
|---|---|---|---|
| 
        name  | 
      
        是  | 
      
        String  | 
      
        参数解释: 弹性伸缩规则的名称。 约束限制: 不涉及 取值范围: 只能由字母、数字、中划线和下划线组成,并且长度为1~64个字符。 在一个节点组范围内,不允许重名。 默认取值: 不涉及  | 
     
| 
        description  | 
      
        否  | 
      
        String  | 
      
        参数解释: 弹性伸缩规则的说明。 约束限制: 不涉及 取值范围: 长度小于等于1024个字符。 默认取值: 不涉及  | 
     
| 
        adjustment_type  | 
      
        是  | 
      
        String  | 
      
        参数解释: 弹性伸缩规则的调整类型。 约束限制: 不涉及 取值范围: 
 默认取值: 不涉及  | 
     
| 
        cool_down_minutes  | 
      
        是  | 
      
        Integer  | 
      
        参数解释: 触发弹性伸缩规则后,该集群处于冷却状态(不再执行弹性伸缩操作)的时长,单位为分钟。 约束限制: 不涉及 取值范围: 0~10080,10080为一周的分钟数。 默认取值: 不涉及  | 
     
| 
        scaling_adjustment  | 
      
        是  | 
      
        Integer  | 
      
        参数解释: 单次调整集群节点的个数。 约束限制: 不涉及 取值范围: 1-100 默认取值: 不涉及  | 
     
| 
        trigger  | 
      
        是  | 
      
        Trigger object  | 
      
        参数解释: 描述该规则触发条件,详细说明请参见表7。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及  | 
     
| 
        参数名  | 
      
        是否必选  | 
      
        参数类型  | 
      
        说明  | 
     
|---|---|---|---|
| 
        metric_name  | 
      
        是  | 
      
        String  | 
      
        参数解释: 指标名称。 该触发条件会依据该名称对应指标的值来进行判断。 详细指标名称内容请参见配置MRS集群弹性伸缩。 约束限制: 不涉及 取值范围: 长度最大为64个字符。 默认取值: 不涉及  | 
     
| 
        metric_value  | 
      
        是  | 
      
        String  | 
      
        参数解释: 指标阈值。 触发该条件的指标阈值,只允许输入整数或者带两位小数的数。 约束限制: 不涉及 取值范围: 只允许输入整数或者带两位小数的数。 默认取值: 不涉及  | 
     
| 
        comparison_operator  | 
      
        否  | 
      
        String  | 
      
        参数解释: 指标判断逻辑运算符. 约束限制: 不涉及 取值范围: 
 默认取值: 不涉及  | 
     
| 
        evaluation_periods  | 
      
        是  | 
      
        Integer  | 
      
        参数解释: 判断连续满足指标阈值的周期数(一个周期为5分钟)。 约束限制: 不涉及 取值范围: 1-200 默认取值: 不涉及  | 
     
响应参数
状态码: 200
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        result  | 
      
        String  | 
      
        参数解释: 操作结果。 约束限制: 不涉及 取值范围: 
 默认取值: 不涉及  | 
     
请求示例
配置MRS集群弹性伸缩规则
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"
      }
    } ]
  }
}
 响应示例
状态码:200
操作成功。
{
  "result" : "succeeded"
}
 错误码
请参见错误码。
    
      