更新时间:2023-10-16 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

    cluster_id

    String

    集群ID。获取方法,请参见获取MRS集群信息

请求参数

表2 请求参数说明

名称

是否必选

参数类型

说明

service_id

String

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

plan_id

String

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

parameters

Object

核心参数,请参见表3

previous_values

Map<String,String>

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

表3 parameters参数说明

名称

是否必选

参数类型

说明

order_id

String

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

scale_type

String

  • scale_in:缩容
  • scale_out:扩容

node_id

String

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

node_group

String

扩容或缩容的节点组。
  • 如果node_group为core_node_default_group,表示Core节点组。
  • 如果node_group为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。

skip_bootstrap_scripts

String

仅在创建集群时配置了引导操作且扩容时有意义,表示扩容时是否在新增节点上执行创建集群时指定的引导操作。默认为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所使用的裸金属服务器规格

data_volume_type

String

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

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

data_volume_count

Integer

Task节点数据磁盘个数。

取值范围:0~10

data_volume_size

Integer

Task节点数据磁盘存储空间。

取值范围:100GB~32000GB,传值只需填数字,不需要带单位GB。

响应参数

响应参数如表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节点成功。

错误码

请参见错误码