Compute
Elastic Cloud Server
Huawei Cloud Flexus
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Networking
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Management & Governance
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
OneAccess
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
IAM Identity Center
Cloud Operations Center
Resource Governance Center
Migration
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Analytics
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
Data Lake Factory
DataArts Lake Formation
IoT
IoT Device Access
Others
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Security & Compliance
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Edge Security
Managed Threat Detection
Blockchain
Blockchain Service
Web3 Node Engine Service
Media Services
Media Processing Center
Video On Demand
Live
SparkRTC
MetaStudio
Storage
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service Turbo
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Databases
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
Multi-Site High Availability Service
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Business Applications
Workspace
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Video Intelligent Analysis Service
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Content Delivery & Edge Computing
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Intelligent EdgeCloud
Solutions
SAP Cloud
High Performance Computing
Developer Services
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
CodeArts Repo
Cloud Application Engine
MacroVerse aPaaS
KooMessage
KooPhone
KooDrive

Resizing a Cluster

Updated on 2024-12-10 GMT+08:00

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

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

  • 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

Table 2 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

Table 3 ClusterScalingParams

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

  • scale_in: cluster scale-in
  • scale_out: cluster scale-out

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

  • core_node_default_group: indicates the Core node group.
  • task_node_default_group: indicates the Task node group.

Default value

core_node_default_group

task_node_info

No

Object

Explanation

Task node specifications. For more parameter description, see Table 4.

Constraints

  • When the number of Task nodes is 0, this parameter is used to specify Task node specifications.
  • When the number of Task nodes is greater than 0, this parameter is unavailable. If this parameter is left blank, its mandatory field becomes unavailable and will pass an empty button for the null object.

Value range

N/A

Default value

N/A

instances

Yes

Integer

Explanation

Number of nodes to be added or removed

Constraints

  • The maximum number of nodes to be added is 500 minus the number of Core and Task nodes. For example, the current number of Core nodes is 3, the number of nodes to be added must be less than or equal to 497.
  • A maximum of 500 Core and Task nodes are supported by default. If more than 500 Core and Task nodes are required, contact technical support engineers or call a background API to modify the database.
  • Nodes can be deleted for cluster scale-out when the number of Core nodes is greater than 3 or the number of Task nodes is greater than 0. For example, if there are 5 Core nodes and 5 Task nodes in a cluster, only 2 (5 minus 3) Core nodes are available for deletion and 5 or fewer than 5 Task nodes can be deleted.

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

  • true: Skip the bootstrap action.
  • false: Execute the bootstrap action.

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

  • true: Do not start components after scale-out.
  • false: Start components after scale-out.

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

  • This parameter does not take effect when scale_type is set to scale-out.
  • If scale_type is set to scale-in and cannot be left blank, the system deletes the specified Task nodes.
  • When scale_type is set to scale-in and server_ids is left blank, the system automatically deletes the Task nodes based on the system rules.

Value range

N/A

Default value

N/A

Table 4 task_node_info parameters

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

  • SATA: common I/O
  • SAS: high I/O
  • SSD: ultra-high I/O
  • GPSSD: general-purpose SSD

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

Table 5 describes the response parameter.
Table 5 Response parameter

Parameter

Type

Description

result

String

Explanation

Operation result

Constraints

N/A

Value range

  • succeeded: The operation is successful.
  • Error Codes describes the error codes returned upon operation failures.

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"
}

Status Codes

  • Table 6 describes the status code.
    Table 6 Status code

    Status Code

    Description

    200

    The core or task nodes have been added or removed.

Error Codes

See Error Codes.

We use cookies to improve our site and your experience. By continuing to browse our site you accept our cookie policy. Find out more

Feedback

Feedback

Feedback

0/500

Selected Content

Submit selected content with the feedback