Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-07-28 GMT+08:00

Cambiar el tamaño de un clúster

Función

Esta API se utiliza para escalar o escalar manualmente en nodos Core or Task en un clúster que se ha creado. Después de crear un clúster MRS, no se puede ajustar el número de nodos Master. Es decir, los nodos Master no se pueden escalar dentro o fuera. Esta API no es compatible con Sahara.

Solo los clústeres en el estado Running se pueden escalar hacia fuera o hacia adentro.

Las API descritas en esta sección solo admiten clústeres de streaming, análisis y híbridos.

Restricciones

Ninguna

Depuración

Puede depurar esta API a través de la autenticación automática en API Explorer. API Explorer puede generar automáticamente código SDK de ejemplo y proporcionar la depuración de código SDK de ejemplo.

URI

  • Formato

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

  • Descripción de parámetro
    Tabla 1 Parámetros de URI

    Parámetro

    Obligatorio

    Tipo

    Descripción

    project_id

    String

    ID del proyecto. Para obtener más información sobre cómo obtener el ID del proyecto, consulte Obtención de un ID de proyecto.

    cluster_id

    String

    ID de clúster. Para obtener más información acerca de cómo obtener el ID de clúster, consulte Obtención de la información del clúster MRS.

Parámetros de solicitud

Tabla 2 Parámetros de solicitud

Parámetro

Obligatorio

Tipo

Descripción

service_id

No

String

ID de servicio. Este parámetro está reservado para la extensión. No es necesario configurar este parámetro.

plan_id

No

String

ID de plan. Este parámetro está reservado para la extensión. No es necesario configurar este parámetro.

parameters

Object

Parámetros de Core. Para obtener más información, consulte Tabla 3.

previous_values

No

Map<String,String>

Este parámetro es una API extendida y necesita ser reservado. No es necesario configurar este parámetro.

Tabla 3 descripción de parámetros

Parámetro

Obligatorio

Tipo

Descripción

order_id

No

String

ID de pedido obtenido por el sistema durante el escalado horizontal o vertical. No es necesario establecer el parámetro.

scale_type

String

  • scale_in: reducción de clústeres
  • scale_out: escalamiento horizontal de clústeres

node_id

String

ID del nodo recién agregado o eliminado. El valor del parámetro se fija a node_orderadd.

node_group

No

String

Grupo de nodos a escalar horizontalmente o verticalmente
  • Si el valor de node_group es de core_node_default_group, el grupo de nodos es un grupo de nodos Core.
  • Si el valor de node_group es de task_node_default_group el grupo de nodos es un grupo de nodos Task.

Si se deja en blanco, se utiliza el valor predeterminado core_node_default_group.

task_node_info

No

Object

Especificaciones del nodo Task. Para obtener más información sobre los parámetros, consulte Tabla 4.

  • Cuando el número de nodos Task es de 0, este parámetro se utiliza para especificar las especificaciones del nodo Task.
  • Cuando el número de nodos Task es mayor que 0 este parámetro no está disponible.

instances

Integer

Número de nodos que se agregarán o eliminarán

  • El número máximo de nodos a añadir es 500 menos el número de nodos Core y Task. Por ejemplo, el número actual de nodos de Core es 3, el número de nodos a agregar debe ser menor o igual que 497.

    De forma predeterminada, se admite un máximo de 500 nodos Core y Task. Si se requieren más de 500 nodos Core y Task, póngase en contacto con los ingenieros de soporte técnico o invoque a una API en segundo plano para modificar la base de datos.

  • Los nodos se pueden eliminar para el escalamiento horizontal del clúster cuando el número de nodos Core es mayor que 3 o el número de nodos Task es mayor que 0. Por ejemplo, si hay 5 nodos Core y 5 nodos Task en un clúster, solo 2 (5 menos 3) nodos Core están disponibles para su eliminación y 5 o menos de 5 nodos Task se pueden eliminar.

skip_bootstrap_scripts

No

String

Este parámetro solo es válido cuando se configura una acción de arranque durante la creación del clúster y tiene efecto durante el escalado horizontal. Indica si la acción de arranque especificada durante la creación del clúster se realiza en los nodos agregados durante el escalado horizontal. El valor predeterminado es false, que indica que se realiza la acción de arranque.

scale_without_start

No

Boolean

Si se inician los componentes en los nodos agregados después del escalamiento horizontal del clúster

  • true: no inicie los componentes después de escalar horizontal.
  • false: inicie los componentes después de escalar horizontalmente.

server_ids

No

Array of strings

Lista de ID de los nodos Task que se eliminarán durante la reducción de nodos de task.

  • Este parámetro no tiene efecto cuando scale_type se establece en scale-out.
  • Si scale_type está establecido en scale-in y no se puede dejar en blanco, el sistema elimina los nodos Task especificados.
  • Cuando scale_type se establece en scale-in y server_ids se deja en blanco, el sistema elimina automáticamente los nodos Task según las reglas del sistema.
Tabla 4 parámetros de task_node_info

Parámetro

Obligatorio

Tipo

Descripción

node_size

String

Especificaciones de instancia de un nodo Task, Ejemplo: c3.4xlarge.2.linux.bigdata

Para obtener más información sobre las especificaciones de instancia, consulte Especificaciones de ECS utilizadas por MRS y Especificaciones de BMS utilizado por MRS.

data_volume_type

String

Tipo de almacenamiento en disco de datos del nodo Task, compatible con SATA, SAS y SSD actualmente.

  • SATA: E/S común
  • SAS: E/S alta
  • SSD: E/S ultraalta
  • GPSSD: SSD de uso general

data_volume_count

Integer

Número de discos de datos de un nodo Task

Rango de valores: 0 a 10

data_volume_size

Integer

Espacio de almacenamiento en disco de datos de un nodo Task

Rango de valores: 100 GB a 32,000 GB. Al asignar un valor a este parámetro, solo necesita pasar un número, sin la unidad.

Parámetros de respuesta

Parámetros de respuesta

Tabla 5 describe el parámetro de respuesta.
Tabla 5 Parámetro de respuesta

Parámetro

Tipo

Descripción

result

String

Resultado de la operación

  • succeeded: La operación es exitosa.
  • Códigos de error describe los códigos de error devueltos por fallas de operación.

Ejemplo

  • Solicitud de ejemplo

    Ejemplo de adición de nodos de 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": { }
    }

    Ejemplo de adición de nodos de task cuando el número de nodos de task existentes es mayor que cero

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

    Ejemplo de adición de nodos de task cuando el número de nodos de task existentes es cero

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

    Ejemplo de adición de nodos de 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": { }
    }

    Ejemplo de eliminación de nodos de 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": { }
    }
    Ejemplo de eliminación de nodos de task especificados
    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": { }
    }
  • Ejemplo de respuesta
    {
        "result": "succeeded"
    }

Códigos de estado

  • Tabla 6 describe el código de estado.
    Tabla 6 Código de estado

    Código de estado

    Descripción

    200

    Se han agregado o eliminado los nodos de core o task.

Códigos de error

Consulte Códigos de error.