更新时间:2024-12-10 GMT+08:00

调整集群节点

功能介绍

创建集群后,扩容/缩容集群Core节点或者Task节点。MRS集群创建成功后不支持调整Master节点数量,即不支持扩缩容Master节点。该接口不兼容Sahara。

处于running状态的集群才允许扩容/缩容,其他状态则不允许扩容/缩容。

本章节的接口只支持流式集群、分析集群和混合集群,不支持自定义集群。

接口约束

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

  • URI格式

    PUT /v1.1/{project_id}/cluster_infos/{cluster_id}

  • 参数说明
    表1 路径参数

    参数

    是否必选

    参数类型

    描述

    project_id

    String

    参数解释:

    项目编号。获取方法,请参见获取项目ID

    约束限制:

    不涉及

    取值范围:

    只能由英文字母和数字组成,且长度为[1-64]个字符。

    默认取值:

    不涉及

    cluster_id

    String

    参数解释:

    集群ID。如果指定集群ID,则获取该集群做过补丁更新的最新版本元数据。获取方法,请参见获取集群ID

    约束限制:

    不涉及

    取值范围:

    只能由英文字母、数字以及“_”和“-”组成,且长度为[1-64]个字符。

    默认取值:

    不涉及

请求参数

表2 请求参数说明

名称

是否必选

参数类型

说明

service_id

String

参数解释:

服务ID,为扩展接口,预留此参数。用户不需要配置。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

plan_id

String

参数解释:

套餐ID,为扩展接口,预留此参数。用户不需要配置。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

parameters

ClusterScalingParams object

参数解释:

请求参数集合,请参见表3

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

previous_values

Map<String,String>

参数解释:

扩展接口,预留此参数。用户不需要配置。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表3 ClusterScalingParams

名称

是否必选

参数类型

说明

order_id

String

参数解释:

扩容/缩容时系统获取的订单号,用户不需要配置。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

scale_type

String

参数解释:

调整集群节点操作类型。

约束限制:

不涉及

取值范围:

  • scale_in:缩容
  • scale_out:扩容

默认取值:

不涉及

node_id

String

参数解释:

扩容/缩容时新增或者减少节点的ID标识,参数值固定为node_orderadd。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

node_group

String

参数解释:

扩容或缩容的节点组。

约束限制:

不涉及

取值范围:

  • core_node_default_group:表示Core节点组。
  • task_node_default_group:表示Task节点组。

默认取值:

core_node_default_group

task_node_info

Object

参数解释:

Task节点规格。参数说明,请参见表4

约束限制:

  • 当Task节点个数为0时,使用该字段指定Task节点的规格。
  • 当Task节点个数大于0时,不能使用该字段。该字段为空时,不填即可,字段内含必填参数不可使用会传空值对象的置空按钮。

取值范围:

不涉及

默认取值:

不涉及

instances

Integer

参数解释:

扩容或缩容的节点数。

约束限制:

  • 扩容时的最大节点数为(500 - 集群Core/Task节点数)。例如,当前集群Core节点数为3,此处扩容的节点数必须小于等于497。
  • Core和Task节点总数最大值为500,如果用户需要的Core/Task节点数大于500,可以联系技术支持人员或者调用后台接口修改数据库。
  • 缩容时Core节点数大于3或者Task节点数大于0可以进行节点删除。例如,当前集群Core节点和Task节点数均为5,Core节点可缩容的节点数为2(5减去3),Task节点可缩容节点数为小于等于5。

取值范围:

≥1

默认取值:

不涉及

skip_bootstrap_scripts

String

参数解释:

是否跳过引导操作。仅在创建集群时配置了引导操作且扩容时有意义,表示扩容时是否在新增节点上执行创建集群时指定的引导操作。

约束限制:

不涉及

取值范围:

  • true:跳过引导操作。
  • false:执行指引操作。

默认取值:

false

scale_without_start

Boolean

参数解释:

扩容后是否启动扩容节点上的组件。

约束限制:

不涉及

取值范围:

  • true:扩容后不启动组件。
  • false:扩容后启动组件。

默认取值:

不涉及

server_ids

Array of strings

参数解释:

缩容Task节点时指定待删除Task节点的ID列表。

约束限制:

  • 当scale_type为扩容时,该参数不生效。
  • 当scale_type为缩容且该参数不为空时,删除指定的Task节点。
  • 当scale_type为缩容且server_ids为空时,按照系统规则自动选择删除Task节点。

取值范围:

不涉及

默认取值:

不涉及

表4 task_node_info参数说明

名称

是否必选

参数类型

说明

node_size

String

参数解释:

Task节点的实例规格。例如:c3.4xlarge.2.linux.bigdata。实例规格详细说明请参见MRS所使用的弹性云服务器规格MRS所使用的裸金属服务器规格。该参数建议从MRS控制台的集群创建页面获取对应区域对应版本所支持的规格。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

data_volume_type

String

参数解释:

Task节点数据磁盘存储类别,目前支持SATA、SAS和SSD等。

约束限制:

不涉及

取值范围:

  • SATA:普通IO
  • SAS:高IO
  • SSD:超高IO
  • GPSSD:通用型SSD

默认取值:

不涉及

data_volume_count

Integer

参数解释:

Task节点数据磁盘存储数目。

约束限制:

不涉及

取值范围:

0-20

默认取值:

不涉及

data_volume_size

Integer

参数解释:

Task节点数据磁盘存储大小。传值只需填数字,不需要带单位GB。

约束限制:

不涉及

取值范围:

100-32000

默认取值:

不涉及

响应参数

响应参数如表5所示。
表5 响应参数说明

参数名

参数类型

说明

result

String

参数解释:

操作结果。

约束限制:

不涉及

取值范围:

  • succeeded:操作成功
  • 操作失败时返回的错误码信息如错误码所示。

默认取值:

不涉及

请求示例

  • 在MRS集群中扩容1个core节点。
    PUT /v1.1/{project_id}/cluster_infos/{cluster_id}
    
    { 
        "service_id": "",  
        "plan_id": "",  
        "parameters": { 
            "order_id": "",  
            "scale_type": "scale_out",  
            "node_id": "node_orderadd",  
            "node_group": "core_node_default_group",
            "instances": "1",
           "skip_bootstrap_scripts":false,
           "scale_without_start":false
        },  
        "previous_values": { }
    }
  • 当Task节点个数等于零时,在MRS集群中扩容1个Task节点。
    PUT /v1.1/{project_id}/cluster_infos/{cluster_id}
    
    { 
        "service_id": "",  
        "plan_id": "",  
        "parameters": { 
            "order_id": "",  
            "scale_type": "scale_out",  
            "node_id": "node_orderadd",  
            "node_group": "task_node_default_group",
            "instances": "1",
            "skip_bootstrap_scripts":false,  
            "scale_without_start":false
        },  
        "previous_values": { }
    }
  • 当Task节点个数大于零时,在MRS集群中扩容1个规格为s3.xlarge.2.linux.bigdata的Task节点。
    PUT /v1.1/{project_id}/cluster_infos/{cluster_id}
    
    { 
        "service_id": "",  
        "plan_id": "",  
        "parameters": { 
            "order_id": "",  
            "scale_type": "scale_out",  
            "node_id": "node_orderadd",  
            "node_group": "task_node_default_group",
            "task_node_info": {
                      "node_size": "s3.xlarge.2.linux.bigdata",
                      "data_volume_type":"SATA",
                      "data_volume_count":2,
                      "data_volume_size":600
                      },
            "instances": "1",  
            "scale_without_start":false
    
    
        },  
        "previous_values": { }
    }
  • 在MRS集群中缩容1个Core节点。
    PUT /v1.1/{project_id}/cluster_infos/{cluster_id}
    
    { 
        "service_id": "",  
        "plan_id": "",  
        "parameters": { 
            "order_id": "",  
            "scale_type": "scale_in",  
            "node_id": "node_orderadd",  
            "node_group": "core_node_default_group",
            "instances": "1"  
    
    
        },  
        "previous_values": { }
    }
  • 在MRS集群中缩容1个Task节点
    PUT /v1.1/{project_id}/cluster_infos/{cluster_id}
    
    { 
        "service_id": "",  
        "plan_id": "",  
        "parameters": { 
            "order_id": "",  
            "scale_type": "scale_in",  
            "node_id": "node_orderadd",  
            "node_group": "task_node_default_group",
            "instances": "1"  
    
        },  
        "previous_values": { }
    }
  • 在MRS集群中缩容指定的Task节点。
    PUT /v1.1/{project_id}/cluster_infos/{cluster_id}
    
    { 
        "service_id": "",  
        "plan_id": "",  
        "parameters": { 
            "order_id": "",  
            "scale_type": "scale_in",  
            "node_id": "node_orderadd",  
            "node_group": "task_node_default_group",
            "instances": "2",
            "server_ids": ["c9573435-7814-4b2c-9131-ad78b814414c", "a4951009-6a0f-4e7b-9c81-9d4bd1f8c537"]  
        },  
        "previous_values": { }
    }

响应示例

状态码:200

扩容/缩容集群Core节点或者Task节点成功。

{
    "result": "succeeded"
}

状态码

  • 状态码如表6所示。
    表6 状态码

    状态码

    描述

    200

    扩容/缩容集群Core节点或者Task节点成功。

错误码

请参见错误码