Resizing a Cluster
Function
This API is used to scale out or scale in Core or Task nodes in a cluster that has been created. After an MRS cluster is created, the number of Master nodes cannot be adjusted. That is, Master nodes cannot be scaled in or out. This API is incompatible with Sahara.
Only clusters in the Running state can be scaled out or in.
The APIs described in this section support only streaming, analysis, and hybrid clusters.
Constraints
None
Debugging
You can debug this API in API Explorer. Automatic authentication is supported. API Explorer can automatically generate sample SDK code and provide the sample SDK code debugging.
URI
- Format
- Parameter description
Table 1 URI parameters Parameter
Mandatory
Type
Description
project_id
Yes
String
Explanation
Project ID. For details about how to obtain the project ID, see Obtaining a Project ID.
Constraints
N/A
Value range
The value must consist of 1 to 64 characters. Only letters and digits are allowed.
Default value
N/A
cluster_id
Yes
String
Explanation
Cluster ID If this parameter is specified, the latest metadata of the cluster that has been patched will be obtained. For details about how to obtain the cluster ID, see Obtaining a Cluster ID.
Constraints
N/A
Value range
The value can contain 1 to 64 characters, including only letters, digits, underscores (_), and hyphens (-).
Default value
N/A
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
service_id |
No |
String |
Explanation Service ID. This parameter is reserved for extension. You do not need to set this parameter. Constraints N/A Value range N/A Default value N/A |
plan_id |
No |
String |
Explanation Plan ID. This parameter is reserved for extension. You do not need to set this parameter. Constraints N/A Value range N/A Default value N/A |
parameters |
Yes |
ClusterScalingParams object |
Explanation Request parameters. For details, see Table 3. Constraints N/A Value range N/A Default value N/A |
previous_values |
No |
Map<String,String> |
Explanation This parameter is an extended API and needs to be reserved. You do not need to set this parameter. Constraints N/A Value range N/A Default value N/A |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
order_id |
No |
String |
Explanation Order ID obtained by the system during scale-out or scale-in. You do not need to set the parameter. Constraints N/A Value range N/A Default value N/A |
scale_type |
Yes |
String |
Explanation Operation type on the cluster node. Constraints N/A Value range
Default value N/A |
node_id |
Yes |
String |
Explanation ID of the newly added or removed node. The parameter value is fixed to node_orderadd. Constraints N/A Value range N/A Default value N/A |
node_group |
No |
String |
Explanation Node group to be scaled out or in Constraints N/A Value range
Default value core_node_default_group |
task_node_info |
No |
Object |
Explanation Task node specifications. For more parameter description, see Table 4. Constraints
Value range N/A Default value N/A |
instances |
Yes |
Integer |
Explanation Number of nodes to be added or removed Constraints
Value range ≥1 Default value N/A |
skip_bootstrap_scripts |
No |
String |
Explanation Whether to skip the bootstrap action. This parameter is valid only when a bootstrap action is configured during cluster creation and takes effect during scale-out. It indicates whether the bootstrap action specified during cluster creation is performed on nodes added during scale-out. Constraints N/A Value range
Default value false |
scale_without_start |
No |
Boolean |
Explanation Whether to start components on the added nodes after cluster scale-out Constraints N/A Value range
Default value N/A |
server_ids |
No |
Array of strings |
Explanation ID list of Task nodes to be deleted during task node scale-in. Constraints
Value range N/A Default value N/A |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
node_size |
Yes |
String |
Explanation Instance specifications of a Task node, for example, c3.4xlarge.2.linux.bigdata. For details about instance specifications, see ECS Specifications Used by MRS and BMS Specifications Used by MRS. You are advised to obtain the specifications supported by the corresponding version in the corresponding region from the cluster creation page on the MRS console. Constraints N/A Value range N/A Default value N/A |
data_volume_type |
Yes |
String |
Explanation Data disk storage type of the Task node. Supported types include SATA, SAS, and SSD. Constraints N/A Value range
Default value N/A |
data_volume_count |
Yes |
Integer |
Explanation Number of data disks of a Task node. Constraints N/A Value range 0-20 Default value N/A |
data_volume_size |
Yes |
Integer |
Explanation Data disk storage space of a Task node. You only need to pass in a number without the unit GB. Constraints N/A Value range 100-32000 Default value N/A |
Response Parameters
Parameter |
Type |
Description |
---|---|---|
result |
String |
Explanation Operation result Constraints N/A Value range
Default value N/A |
Example Request
- Add one core node to the MRS cluster.
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": { } }
- If there is no Task node, add one to the MRS cluster.
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": { } }
- If the number of Task nodes is greater than 0, add a Task node of the s3.xlarge.2.linux.bigdata specification to the MRS cluster.
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": { } }
- Remove a core node from the MRS cluster.
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": { } }
- Remove a Task node from the MRS cluster.
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": { } }
- Remove a specified Task node from the MRS cluster.
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": { } }
Example Response
Status code: 200
The core or task node has been added or removed.
{ "result": "succeeded" }
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot