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.
Centro de ayuda> MapReduce Service> Referencia de la API> API V1.1> Las API de gestión de clústeres> Creación de un clúster y ejecución de un trabajo
Actualización más reciente 2023-07-28 GMT+08:00

Creación de un clúster y ejecución de un trabajo

Función

Esta API se utiliza para crear un clúster MRS y enviar un trabajo en el clúster. Esta API es incompatible con Sahara.

Se pueden crear simultáneamente un máximo de 10 clústeres. Puede establecer el parámetro enterprise_project_id para que realice una autorización detallada para los recursos.

Antes de usar la API, debes obtener los recursos que aparecen en la lista de Tabla 1.

Tabla 1 Obtención de recursos

Recurso

Cómo obtener

VPC

Consulte las instrucciones de operación en Consulta los VPC y Creación de los VPC en la Referencia de la API de VPC.

Subnet

Consulte las instrucciones de operación en Consulta de las subredes y Creación de las subredes en la Referencia de la API de VPC.

Key Pair

Consulte las instrucciones de operación en Consulta de pares de claves SSH and Creación e importación de un par de claves SSH en la Referencia de API de ECS.

Zone

Consulte Puntos de conexión para más detalles sobre las regiones y zonas de disponibilidad.

Version

Actualmente, se admiten MRS 1.9.2, 3.1.0, 3.1.5, 3.2.0-LTS.1, y 3.1.2-LTS.3.

Component

  • MRS 3.1.2-LTS.3 admite los siguientes componentes:
    • Un clúster de análisis contiene los siguientes componentes: Hadoop, Spark2x, HBase, Hive, Hue, Loader, Flink, Oozie, ZooKeeper, HetuEngine, Ranger, y Tez.
    • Un clúster de streaming contiene los siguientes componentes: Kafka, Flume, ZooKeeper y Ranger.
    • Un clúster híbrido contiene los siguientes componentes: Hadoop, Spark2x, HBase, Hive, Hue, Loader, Flink, Oozie, ZooKeeper, HetuEngine, Ranger, Tez, Kafka y Flume.
    • Un clúster personalizado contiene los siguientes componentes: Hadoop, Spark2x, HBase, Hive, Hue, Loader, Kafka, Flume, Flink, Oozie, ZooKeeper, HetuEngine, Ranger, Tez, y ClickHouse.
  • MRS 3.1.0 admite los siguientes componentes:
    • Un clúster de análisis contiene los siguientes componentes: Hadoop, Spark2x, HBase, Hive, Hue, Flink, Oozie, ZooKeeper, Ranger, Tez, Impala, Presto y Kudu.
    • Un clúster de streaming contiene los siguientes componentes: Kafka, Flume, ZooKeeper y Ranger.
    • Un clúster híbrido contiene los siguientes componentes: Hadoop, Spark2x, HBase, Hive, Hue, Flink, Oozie, ZooKeeper, Ranger, Tez, Impala, Presto, Kudu, Kafka y Flume.
    • Un clúster personalizado contiene los siguientes componentes: Hadoop, Spark2x, HBase, Hive, Hue, Kafka, Flume, Flink, Oozie, ZooKeeper, Ranger, Tez, Impala, Presto, ClickHouse, y Kudu.
  • MRS 3.0.5 admite los siguientes componentes:
    • Un clúster de análisis contiene los siguientes componentes: Hadoop, Spark2x, HBase, Hive, Hue, Loader, Flink, Oozie, ZooKeeper, Ranger, Tez, Impala, Presto, Kudu y Alluxio.
    • Un clúster de streaming contiene los siguientes componentes: Kafka, Storm, Flume, ZooKeeper, y Ranger.
    • Un clúster híbrido contiene los siguientes componentes: Hadoop, Spark2x, HBase, Hive, Hue, Loader, Flink, Oozie, ZooKeeper, Ranger, Tez, Impala, Presto, Kudu, Alluxio, Kafka, Storm y Flume.
    • Un clúster personalizado contiene los siguientes componentes: Hadoop, Spark2x, HBase, Hive, Hue, Loader, Kafka, Tormenta, Flume, Flink, Oozie, ZooKeeper, Ranger, Tez, Impala, Presto, ClickHouse, Kudu, y Alluxio.
  • MRS 2.1.0 admite los siguientes componentes:
    • Un clúster de análisis contiene los siguientes componentes: Presto, Hadoop, Spark, HBase, Hive, Hue, Loader, Tez, Impala, Kudu, y Flink.
    • Un clúster de streaming contiene los siguientes componentes: Kafka, Storm y Flume.
  • MRS 1.9.2 admite los siguientes componentes:
    • Un clúster de análisis contiene los siguientes componentes: Presto, Hadoop, Spark, HBase, OpenTSDB, Hive, Hue, Loader, Tez, Flink, Alluxio y Ranger.
    • Un clúster de streaming contiene los siguientes componentes: Kafka, KafkaManager, Storm, y Flume.

Restricciones

  • Puede iniciar sesión en un clúster con una contraseña o un par de claves.
  • Para utilizar el modo de contraseña, debe configurar la contraseña del usuario root para acceder al nodo del clúster, es decir, a cluster_master_secret.
  • Para utilizar el modo de par de claves, debe configurar el nombre del par de claves, es decir, node_public_cert_name.
  • Los parámetros de disco se pueden representar por volume_type y volume_size o por parámetros de varios discos (master_data_volume_type, master_data_volume_size, master_data_volume_count, core_data_volume_type, core_data_volume_size y core_data_volume_count).

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

POST /v1.1/{project_id}/run-job-flow
Tabla 2 Parámetros de URI

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

El 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.

Parámetros de solicitud

Tabla 3 Parámetros de solicitud

Parámetro

Obligatorio

Tipo

Descripción

cluster_version

String

La versión del clúster.

Valores posibles:

  • MRS 1.9.2
  • MRS 3.1.0
  • MRS 3.1.2-LTS.3
  • MRS 3.1.5

cluster_name

String

El nombre del clúster, que debe ser único. Un nombre de clúster solo puede contener entre 1 y 64 caracteres. Solo se permiten letras, números, guiones (-) y guiones bajos (_).

master_node_num

Integer

Número de nodos master. Si el HA del clúster está habilitado, establezca este parámetro en 2. Si HA del clúster está deshabilitado, establezca este parámetro en 1. Este parámetro no se puede establecer en 1 en MRS 3.x.

core_node_num

Integer

El número de nodos core.

Rango de valores: 1 a 500

El número máximo predeterminado de nodos core es de 500. Si se requieren más de 500 nodos core, solicite una cuota más alta.

billing_type

Integer

El modo de facturación del clúster.

  • 11: El clúster se factura anualmente/mensualmente.
  • 12: El clúster se factura según el pago por uso.

data_center

String

La información sobre la región donde se encuentra el clúster. Para obtener más información, consulte Puntos de conexión.

vpc

String

El nombre de la VPC donde se encuentra la subred. Obtenga el nombre de la VPC realizando las siguientes operaciones en la consola de gestión de la VPC:

  1. Inicie sesión en la consola de gestión.
  2. Haga clic en Virtual Private Cloud y seleccione Virtual Private Cloud en la lista de la izquierda.

En la página Virtual Private Cloud, obtenga el nombre de la VPC de la lista.

master_node_size

String

Las especificaciones de instancia de los nodos master, por ejemplo c3.4xlarge.2.linux.bigdata. Las especificaciones de host soportadas por MRS están determinadas por la CPU, la memoria y el espacio en disco. 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. Se recomienda obtener las especificaciones compatibles con la versión correspondiente en la región correspondiente desde la página de creación de clúster en la consola MRS.

core_node_size

String

Las especificaciones de instancia de los nodos centrales, por 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. Se recomienda obtener las especificaciones compatibles con la versión correspondiente en la región correspondiente desde la página de creación de clúster en la consola MRS.

component_list

Array of component_list objects

La lista de componentes de servicio que se van a instalar. Para obtener más información sobre los parámetros, consulte Tabla 4.

available_zone_id

String

El ID de zona de disponibilidad.

  • CN-Hong Kong AZ1 (ap-southeast-1a): 8902e05a7ee04542a6a73246fddc46b0
  • CN-Hong Kong AZ2 (ap-southeast-1b): e9554f5c6fb84eeeb29ab766436b6454
  • AP-Bangkok AZ1 (ap-southeast-2a): 11d18bfa9d57488b8f96680013667546
  • AP-Bangkok AZ2 (ap-southeast-2b): 09d6a3cddbd643a5aa8837600c9af32c
  • AP-Singapore AZ1 (ap-southeast-3a): 82cc0d8877374316b669613539efd0d9
  • AP-Singapore AZ2 (ap-southeast-3b): 77394a8450e147779666771f796e9f03
  • AP-Singapore AZ3 (ap-southeast-3c): dba8d1bd3d9146659e2b5a38c09b19a4

vpc_id

String

El ID de la VPC donde se encuentra la subred.

Obtenga el ID de VPC realizando las siguientes operaciones en la consola de gestión de VPC:

  1. Inicie sesión en la consola de gestión.
  2. Haga clic en Virtual Private Cloud y seleccione Virtual Private Cloud en la lista de la izquierda.

En la página Virtual Private Cloud, obtenga el ID de VPC de la lista.

subnet_id

String

El ID de subred.

Obtenga el ID de subred realizando las siguientes operaciones en la consola de gestión de VPC:

  1. Inicie sesión en la consola de gestión.
  2. Haga clic en Virtual Private Cloud y seleccione Virtual Private Cloud en la lista de la izquierda.
  3. Busque la fila que contiene la VPC de destino y haga clic en el número de la columna Subnets para ver la información de subred.
  4. Haga clic en el nombre de subred para obtener el ID de red.

Al menos uno de subnet_id y subnet_name debe estar configurado. Si los dos parámetros están configurados pero no coinciden con la misma subred, no se puede crear el clúster. Se recomienda subnet_id.

subnet_name

String

El nombre de la subred.

Obtenga el nombre de subred realizando las siguientes operaciones en la consola de gestión de VPC:

  1. Inicie sesión en la consola de gestión.
  2. Haga clic en Virtual Private Cloud y seleccione Virtual Private Cloud en la lista de la izquierda.
  3. Busque la fila que contiene la VPC de destino y haga clic en el número de la columna Subnets para obtener el nombre de subred.

Al menos uno de subnet_id y subnet_name debe estar configurado. Si los dos parámetros están configurados pero no coinciden con la misma subred, no se puede crear el clúster. Si solo se configura subnet_name y existen subredes con el mismo nombre en la VPC, el primer nombre de subred de la VPC se utiliza cuando se crea un clúster. Se recomienda subnet_id.

security_groups_id

No

String

ID del grupo de seguridad configurado para el clúster.

  • Si este parámetro se deja en blanco, MRS crea automáticamente un grupo de seguridad, cuyo nombre comienza por mrs_{cluster_name}.
  • Si este parámetro no se deja en blanco, se utiliza un grupo de seguridad fijo para crear un clúster. El ID transferido debe ser el ID del grupo de seguridad que pertenece al tenant actual. El grupo de seguridad debe incluir una regla de entrada en la que se permiten todos los protocolos y todos los puertos y el origen es la dirección IP del nodo especificado en el plano de gestión.

add_jobs

No

Array of add_jobs objects

Los trabajos se pueden enviar cuando se crea un clúster. Actualmente, solo se puede crear un trabajo. Para obtener más información sobre los parámetros, consulte Tabla 5.

volume_size

No

Integer

El espacio de almacenamiento en disco de datos de los nodos master y core. Para aumentar la capacidad de almacenamiento de datos, puede agregar discos al crear un clúster. Seleccione un espacio de almacenamiento en disco adecuado en función de los siguientes escenarios de aplicación:

  • Desacoplamiento de almacenamiento-computación: Los datos se almacenan en el sistema OBS. Los costos de los clústeres son relativamente bajos, pero el rendimiento informático es pobre. Los clústeres se pueden eliminar en cualquier momento. Se recomienda cuando la computación de datos se realiza con poca frecuencia.
  • Integración de almacenamiento-computación: Los datos se almacenan en el sistema HDFS. Los costos de los clústeres son relativamente altos, pero el rendimiento informático es bueno. Los clústeres no se pueden eliminar a corto plazo. Se recomienda cuando la computación de datos se realiza con frecuencia.

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. Este parámetro no se recomienda. Para obtener más información, consulte la descripción del parámetro volume_type.

volume_type

No

String

El tipo de almacenamiento en disco de datos de los nodos master y core. Actualmente, SATA, SAS, SSD y GPSSD son compatibles. Los parámetros de disco se pueden representar mediante volume_type y volume_size o parámetros multidisco. Si los parámetros volume_type y volume_size coexisten con los parámetros multidisco, el sistema lee primero los parámetros volume_type y volume_size. Se recomienda utilizar los parámetros multidisco. Valores posibles:

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

master_data_volume_type

No

String

Este parámetro es un parámetro multidisco, que indica el tipo de almacenamiento de disco de datos del nodo master. Actualmente, SATA, SAS, SSD y GPSSD son compatibles.

master_data_volume_size

No

Integer

Este parámetro es un parámetro multidisco, que indica el espacio de almacenamiento en disco de datos de los nodos master. Para aumentar la capacidad de almacenamiento de datos, puede agregar discos al crear un clúster.

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.

master_data_volume_count

No

Integer

Este parámetro es un parámetro multidisco, que indica el número de discos de datos de los nodos maestros. El valor solo puede ser 1.

core_data_volume_type

No

String

Este parámetro es un parámetro multidisco, que indica el tipo de almacenamiento en disco de datos de los nodos core. Actualmente, SATA, SAS, SSD y GPSSD son compatibles.

core_data_volume_size

No

Integer

Este parámetro es un parámetro multidisco, que indica el espacio de almacenamiento en disco de datos de los nodos core. Para aumentar la capacidad de almacenamiento de datos, puede agregar discos al crear un clúster.

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.

core_data_volume_count

No

Integer

Este parámetro es un parámetro multidisco, que indica el número de discos de datos de los nodos core. Rango de valores: 1 a 10

task_node_groups

No

Array of task_node_groups objects

La lista de nodos de task. Para obtener más información sobre los parámetros, consulte Tabla 6.

bootstrap_scripts

No

Array of BootstrapScript objects

La información del script de acción de arranque. Para obtener más información sobre los parámetros, consulte Tabla 8.

node_public_cert_name

No

String

El nombre de un par de claves. Puede utilizar un par de claves para iniciar sesión en un nodo de clúster. Si login_mode está establecido en 1, el cuerpo de la solicitud contiene el campo node_public_cert_name.

cluster_admin_secret

No

String

La contraseña del administrador de MRS Manager. Una contraseña debe cumplir con los siguientes requisitos de complejidad:

  • Debe contener de 8 a 26 caracteres.
  • No puede ser el nombre de usuario ni el nombre de usuario escrito al revés.
  • Debe contener cada tipo de lo siguiente:
    • Letras en minúscula
    • Letras en mayúscula
    • Números
    • Caracteres especiales (!@$%^-_=+[{}]:,./?)

cluster_master_secret

String

La contraseña del usuario root para iniciar sesión en un nodo de clúster. Si login_mode está establecido en 0, el cuerpo de la solicitud contiene el campo cluster_master_secret.

Una contraseña debe cumplir con los siguientes requisitos de complejidad:

  • Debe tener entre 8 y 26 caracteres.
  • Debe contener todos los tipos de letras mayúsculas, minúsculas, números y caracteres especiales (!@$%^-_=+[{}]:,./?), pero no debe contener espacios.
  • No puede ser el nombre de usuario ni el nombre de usuario escrito al revés.

safe_mode

Integer

El modo de ejecución de un clúster MRS. Valores posibles:

  • 0: clúster normal. En un clúster normal, la autenticación Kerberos está deshabilitada y los usuarios pueden usar todas las funciones proporcionadas por el clúster.
  • 1: clúster de seguridad. En un clúster de seguridad, la autenticación de Kerberos está habilitada y los usuarios comunes no pueden usar las funciones de gestión de archivos y gestión de trabajos de un clúster MRS ni el uso de recursos de clúster de visualización y los registros de trabajos de Hadoop y Spark. Para utilizar estas funciones, los usuarios deben obtener los permisos pertinentes del administrador de MRS.

tags

No

Array of tag objects

Las etiquetas de clúster. Para obtener más información sobre los parámetros, consulte Tabla 9.

  • Un clúster permite un máximo de 10 etiquetas. Un nombre de etiqueta (clave) debe ser único en un clúster.
  • Una clave o valor de etiqueta no puede contener los siguientes caracteres especiales: =*<>\,|/

cluster_type

No

Integer

El tipo de clúster. Valores posibles:

  • 0: clúster de análisis
  • 1: clúster de streaming

El valor predeterminado es 0.

Nota: Actualmente, los clústeres híbridos no se pueden crear con API.

log_collection

No

Integer

Si se recopilan registros cuando se produce un error en la creación de clústeres.

El valor predeterminado es 1, que indica que los buckets OBS se crean solo para recopilar registros cuando un clúster MRS no se crea.

Valores posibles:

  • 0 No recopile registros.
  • 1: Recopile registros.

enterprise_project_id

No

String

ID del proyecto de empresa.

Cuando cree un clúster, asocie el ID del proyecto de empresa con el clúster.

El valor predeterminado es 0, que indica el proyecto de empresa del tipo default.

Para obtener el ID de proyecto empresarial, consulte el valor id en la tabla enterprise_project field data structure en "Consulta de la lista de proyectos empresariales" en Referencia de la API de Enterprise Management.

login_mode

No

Integer

El modo de inicio de sesión del clúster. El valor predeterminado es 1.

  • Si login_mode está establecido en 0, el cuerpo de la solicitud contiene el campo cluster_master_secret.
  • Si login_mode está establecido en 1, el cuerpo de la solicitud contiene el campo node_public_cert_name.

Valores posibles:

  • 0: contraseña
  • 1: par de clave

node_groups

No

Array of NodeGroupV11 objects

La lista de nodos. Para obtener más información sobre los parámetros, consulte Tabla 10.

Nota: Configure este parámetro o los siguientes parámetros:

master_node_num, master_node_size, core_node_num, core_node_size, master_data_volume_type, master_data_volume_size, master_data_volume_count, core_data_volume_type, core_data_volume_size, core_data_volume_count, volume_type, volume_size, task_node_groups

Tabla 4 ComponentAmbV11

Parámetro

Obligatorio

Tipo

Descripción

component_name

String

El nombre del componente. Para obtener más información, consulte la información de componentes de Tabla 1.

Tabla 5 AddJobsReqV11

Parámetro

Obligatorio

Tipo

Descripción

job_type

Integer

El código de tipo de trabajo. Valores posibles:

  • 1: MapReduce
  • 2: Spark
  • 3: Hive Script
  • 4: HiveQL (no soportado actualmente)
  • 5: DistCp para importar y exportar datos (no soportado actualmente)
  • 6: Spark Script
  • 7: Spark SQL para enviar sentencias Spark SQL (no soportadas actualmente)
    NOTA:

    Los trabajos de Spark y Hive sólo se pueden crear en clústeres donde estén instalados Spark y Hive.

job_name

String

El nombre del trabajo. El valor puede contener de 1 a 64 caracteres. Solo se permiten letras, números, guiones (-) y guiones bajos (_).

NOTA:

Se permiten nombres de trabajo idénticos pero no se recomiendan.

jar_path

No

String

La ruta del archivo JAR o SQL para la ejecución del programa. El valor debe cumplir los siguientes requisitos:

  • El valor contiene un máximo de 1,023 caracteres. No puede contener caracteres especiales (;|&>,<'$) y no puede dejarse en blanco ni todos los espacios.
  • Los archivos se pueden almacenar en HDFS u OBS. La ruta de acceso varía según el sistema de archivos.
    • OBS: La ruta debe comenzar con s3a://. Los archivos o programas cifrados por KMS no son compatibles.
    • HDFS: la ruta de acceso comienza con una barra diagonal (/).
  • Spark Script debe terminar con .sql mientras que MapReduce y Spark Jar deben terminar con .jar. sql y jar son insensibles a mayúsculas y minúsculas.

arguments

No

String

El parámetro clave para la ejecución del programa. El parámetro es especificado por la función del programa del usuario. MRS solo es responsable de cargar el parámetro.

El parámetro puede contener caracteres de 0 a 150,000, pero no se permiten caracteres especiales (&>'<$).

input

No

String

La ruta de entrada de datos.

Los archivos se pueden almacenar en HDFS u OBS. La ruta de acceso varía según el sistema de archivos.
  • OBS: La ruta debe comenzar con s3a://. Los archivos o programas cifrados por KMS no son compatibles.
  • HDFS: la ruta de acceso comienza con una barra diagonal (/).

El valor puede contener caracteres de 0 a 1,023, pero no se permiten caracteres especiales (&>'<$).

output

No

String

La ruta de salida de datos.

Los archivos se pueden almacenar en HDFS u OBS. La ruta de acceso varía según el sistema de archivos.
  • OBS: La ruta debe comenzar con s3a://.
  • HDFS: la ruta de acceso comienza con una barra diagonal (/).

Si la ruta especificada no existe, el sistema la creará automáticamente.

El valor puede contener caracteres de 0 a 1,023, pero no se permiten caracteres especiales (&>'<$).

job_log

No

String

Ruta de acceso para almacenar registros de trabajos que registran el estado de ejecución del trabajo.

Los archivos se pueden almacenar en HDFS u OBS. La ruta de acceso varía según el sistema de archivos.
  • OBS: La ruta debe comenzar con s3a://.
  • HDFS: la ruta de acceso comienza con una barra diagonal (/).

El valor puede contener caracteres de 0 a 1,023, pero no se permiten caracteres especiales (&>'<$).

shutdown_cluster

No

Boolean

Si se debe terminar el clúster una vez completada la ejecución del trabajo.

  • true: Termine el clúster.
  • false: No termine el clúster.

file_action

No

String

La acción que se va a realizar en un archivo. Valores posibles:

  • import
  • export

submit_job_once_cluster_run

Boolean

  • true: Enviar un trabajo durante la creación del clúster.
  • false: Enviar un trabajo después de crear el clúster.

Establezca este parámetro en true en este ejemplo.

hql

No

String

La sentencia de script HQL.

hive_script_path

No

String

La ruta del programa SQL. Este parámetro es requerido únicamente por los trabajos de Spark Script y Hive Script, y el valor debe cumplir los siguientes requisitos:

  • El valor contiene un máximo de 1,023 caracteres. No puede contener caracteres especiales (;|&><'$) y no puede dejarse en blanco ni todos los espacios.
  • Los archivos se pueden almacenar en HDFS u OBS. La ruta de acceso varía según el sistema de archivos.
    • OBS: La ruta debe comenzar con s3a://. Los archivos o programas cifrados por KMS no son compatibles.
    • HDFS: la ruta de acceso comienza con una barra diagonal (/).
  • Termina con .sql. sql es insensible a mayúsculas y minúsculas.
Tabla 6 TaskNodeGroup

Parámetro

Obligatorio

Tipo

Descripción

node_num

Integer

El número de nodos task. El valor varía de 0 a 500, y el número total de nodos core y task y no puede exceder de 500.

node_size

String

Las especificaciones de instancia de los nodos task, por ejemplo, c3.4xlarge.2.linux.bigdatac6.4xlarge.4.linux.mrs. 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.

Obtenga las especificaciones de instancia de la versión correspondiente en la región correspondiente desde la página de creación de clúster de la consola de gestión de MRS.

data_volume_type

String

El tipo de almacenamiento en disco de datos de los nodos task. Valores posibles:

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

data_volume_count

Integer

El 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

Solo tiene que introducir un número y no es necesario introducir la unidad GB.

auto_scaling_policy

No

auto_scaling_policy object

La política de escalado automático. Para obtener más información, consulte Tabla 7.

Tabla 7 AutoScalingPolicy

Parámetro

Obligatorio

Tipo

Descripción

auto_scaling_enable

Boolean

Si se debe habilitar la política de escalado automático.

min_capacity

Integer

Número mínimo de nodos reservados en el grupo de nodos.

Rango de valores: 0 a 500

max_capacity

Integer

Número máximo de nodos en el grupo de nodos.

Rango de valores: 0 a 500

resources_plans

No

Array of resources_plan objects

La lista del plan de recursos. Para obtener más información, consulte Tabla 11. Si este parámetro se deja en blanco, el plan de recursos se deshabilita.

Cuando auto_scaling_enable se establece en true se debe configurar este parámetro o rules.

exec_scripts

No

Array of scale_script objects

La lista de scripts de automatización de escalado personalizados. Para obtener más información, consulte Tabla 14. Si este parámetro se deja en blanco, se deshabilita un script de hook.

rules

No

Array of rules objects

La lista de reglas de escalado automático. Para obtener más información, consulte Tabla 12.

Cuando auto_scaling_enable se establece en true, se debe configurar este parámetro o resources_plans.

Tabla 8 BootstrapScript

Parámetro

Obligatorio

Tipo

Descripción

name

String

Nombre de un script de acción de arranque, que debe ser único en un clúster.

El valor solo puede contener números, letras, espacios, guiones (-) y guiones bajos (_) y no puede comenzar con un espacio.

El valor puede contener de 1 a 64 caracteres.

uri

String

La ruta de un script de acción de arranque. Establezca este parámetro en una ruta de bucket OBS o una ruta de VM local.

  • Ruta de acceso del bucket OBS: introduzca una ruta de acceso de script. Por ejemplo, ingrese la ruta del script de muestra público proporcionado por MRS. Ejemplo: s3a://bootstrap/presto/presto-install.sh. Si dualroles está instalado, el parámetro del script de presto-install.sh es dualroles. Si worker está instalado, el parámetro de script de presto-install.sh es worker. Basado en el hábito de uso de Presto, se recomienda instalar dualroles en los nodos Master activos y worker en los nodos Core.
  • Ruta de acceso de VM local: introduzca una ruta de acceso de script. La ruta de acceso del script debe comenzar con una barra diagonal (/) y terminar con .sh.

parameters

No

String

Los parámetros de script de acción de arranque.

nodes

Array of strings

Tipo de nodo en el que se ejecuta el script de acción de arranque. El valor puede ser Master, Core, o Task.

El tipo de nodo debe estar representado en minúsculas.

active_master

No

Boolean

Si el script de acción de arranque sólo se ejecuta en nodos principales activos.

El valor predeterminado es false, que indica que el script de acción de arranque puede ejecutarse en todos los nodos Master.

before_component_start

No

Boolean

Hora en que se ejecuta el script de acción de arranque. Actualmente, están disponibles las dos opciones siguientes: Before component start y After component start

El valor predeterminado es false, que indica que el script de acción de arranque se ejecuta después de iniciar el componente.

fail_action

String

Si continuar ejecutando scripts subsiguientes y crear un clúster después de que no se pueda ejecutar el script de acción de arranque.

  • continue: Continuar para ejecutar scripts subsiguientes.
  • errorout: detener la acción.
El valor predeterminado es errorout, que indica que la acción está detenida.
NOTA:

Se recomienda establecer este parámetro en continue en la fase de puesta en marcha para que el clúster pueda seguir instalando e iniciando sin importar si la acción de arranque se realiza correctamente.

start_time

No

Long

El tiempo de ejecución de un script de acción de arranque.

state

No

String

El estado de ejecución de un script de acción de arranque.

  • PENDING
  • IN_PROGRESS
  • SUCCESS
  • FAILURE

action_stages

No

Array of strings

Seleccione la hora a la que se ejecuta el script de acción de arranque.

  • BEFORE_COMPONENT_FIRST_START: antes de que comience el componente inicial
  • AFTER_COMPONENT_FIRST_START: después de que comience el componente inicial
  • BEFORE_SCALE_IN: antes de reducir
  • AFTER_SCALE_IN: después de reducir
  • BEFORE_SCALE_OUT: antes de escalar horizontalmente
  • after_scale_out: después de escalar horizontalmente
Tabla 9 Etiqueta

Parámetro

Obligatorio

Tipo

Descripción

key

String

La clave de etiqueta.

  • Contiene un máximo de 36 caracteres Unicode y no puede ser una cadena vacía.
  • La clave de etiqueta no puede comenzar ni terminar con espacios ni contener caracteres ASCII no imprimibles (0-31) y caracteres especiales (=*<>\,|/).
  • La clave de etiqueta de un recurso debe ser única.

value

String

El valor.

  • El valor contiene un máximo de 43 caracteres Unicode y puede ser una cadena vacía.
  • El valor de etiqueta no puede comenzar ni finalizar con espacios ni contener caracteres ASCII no imprimibles (0-31) y caracteres especiales (=*<>\,|/).
Tabla 10 NodeGroupV11

Parámetro

Obligatorio

Tipo

Descripción

group_name

String

Nombre del grupo de nodos. Valores posibles:

  • master_node_default_group
  • core_node_analysis_group
  • core_node_streaming_group
  • task_node_analysis_group
  • task_node_streaming_group

node_num

Integer

El número de nodos. El valor oscila entre 0 y 500, y el valor predeterminado es 0. La cantidad total de nodos centrales y de tareas no puede ser superior a 500.

node_size

String

Las especificaciones de instancia de los nodos de clúster, por 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.

Obtenga las especificaciones de instancia de la versión correspondiente en la región correspondiente desde la página de creación de clúster de la consola de gestión de MRS.

root_volume_size

No

String

El espacio de almacenamiento en disco del sistema de un nodo.

root_volume_type

No

String

El tipo de almacenamiento de disco del sistema de un nodo. Valores posibles:

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

data_volume_type

No

String

El tipo de almacenamiento de disco de datos de un nodo. Valores posibles:

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

data_volume_count

No

Integer

El número de discos de datos de un nodo.

Rango de valores: 0 a 10

data_volume_size

No

Integer

El espacio de almacenamiento en disco de datos de un nodo.

Rango de valores: 100 GB a 32,000 GB

auto_scaling_policy

No

auto_scaling_policy object

La información de regla de escalado automático. Este parámetro solo está disponible cuando group_name está establecido en task_node_analysis_group o task_node_streaming_group.

Para obtener más información sobre los parámetros, consulte Tabla 7.

Tabla 11 ResourcesPlan

Parámetro

Obligatorio

Tipo

Descripción

period_type

String

Cycle type of a resource plan. Actualmente, solo se admite el siguiente tipo de ciclo:

daily

start_time

String

Hora de inicio de un plan de recursos. El valor tiene el formato de hour:minute, lo que indica que el tiempo varía de 0:00 a 23:59.

end_time

String

Hora de finalización de un plan de recursos. El valor tiene el mismo formato que el de start_time. El intervalo entre end_time y start_time debe ser mayor o igual a 30 minutos.

min_capacity

Integer

Número mínimo de nodos conservados en un grupo de nodos en un plan de recursos.

Rango de valores: 0 a 500

max_capacity

Integer

Número máximo de nodos conservados en un grupo de nodos de un plan de recursos.

Rango de valores: 0 a 500

Tabla 12 Regla

Parámetro

Obligatorio

Tipo

Descripción

name

String

Nombre de una regla de escalado automático.

Contiene solo de 1 a 64 caracteres. Solo se permiten letras, dígitos, guiones (-) y guiones bajos (_).

Los nombres de regla deben ser únicos en un grupo de nodos.

description

No

String

Descripción sobre una regla de escalado automático.

Contiene un máximo de 1024 caracteres.

adjustment_type

String

Tipo de ajuste de regla de escalado automático. Valores posibles:

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

cool_down_minutes

Integer

Tiempo de enfriamiento del clúster después de activar una regla de escalado automático, cuando no se realiza ninguna operación de escalado automático. La unidad es un minuto.

Rango de valores: 0 a 10,080. Una semana es igual a 10,080 minutos.

scaling_adjustment

Integer

Número de nodos que se pueden ajustar una vez.

Rango de valores: 1 a 100

trigger

trigger object

Condición para activar una regla. Para obtener más información, consulte Tabla 13.

Tabla 13 Activador

Parámetro

Obligatorio

Tipo

Descripción

metric_name

String

Nombre de la métrica.

Esta condición desencadenante hace un juicio de acuerdo con el valor de la métrica.

Un nombre de métrica contiene un máximo de 64 caracteres.

metric_value

String

Umbral métrico para activar una regla

El valor debe ser un entero o un número con dos decimales.

comparison_operator

No

String

Operador lógico de juicio métrico. Valores posibles:

  • LT: inferior a
  • GT: superior a
  • LTOE: inferior o igual a
  • GTOE: superior o igual a

evaluation_periods

Integer

Número de períodos consecutivos de cinco minutos, durante los cuales se alcanza un umbral métrico

Rango de valores: 1 a 288

Tabla 14 ScaleScript

Parámetro

Obligatorio

Tipo

Descripción

name

String

Nombre de un script de automatización personalizado. Debe ser único en un mismo clúster.

El valor solo puede contener dígitos, letras, espacios, guiones (-) y guiones bajos (_) y no puede comenzar con un espacio.

El valor puede contener de 1 a 64 caracteres.

uri

String

Ruta de un script de automatización personalizado. Establezca este parámetro en una ruta de bucket OBS o una ruta de VM local.

  • Ruta del bucket OBS: Ingrese manualmente una ruta de script, por ejemplo, s3a://XXX/scale.sh.
  • Ruta de acceso de VM local: introduzca una ruta de acceso de script. La ruta de acceso del script debe comenzar con una barra diagonal (/) y terminar con .sh.

parameters

No

String

Parámetros de un script de automatización personalizado.

  • Múltiples parámetros están separados por espacio.
  • Se pueden transferir los siguientes parámetros de sistema predefinidos:
    • ${mrs_scale_node_num}: Número de nodos que se agregarán o eliminarán
    • ${mrs_scale_type}: tipo de escalamiento. El valor puede ser scale_out o scale_in.
    • ${mrs_scale_node_hostnames}: Nombres de host de los nodos que se van a agregar o eliminar
    • ${mrs_scale_node_ips}: direcciones IP de los nodos a agregar o eliminar
    • ${mrs_scale_rule_name}: Nombre de la regla que activa el escalado automático
  • Otros parámetros definidos por el usuario se utilizan de la misma manera que los scripts de shell comunes. Los parámetros están separados por espacio.

nodes

Array of string

Tipo de nodo donde se ejecuta el script de automatización personalizado. El tipo de nodo puede ser Master, Core, o Task.

active_master

No

Boolean

Si el script de automatización personalizado se ejecuta sólo en el nodo Master activo.

El valor predeterminado es false, que indica que el script de automatización personalizado puede ejecutarse en todos los nodos de Master.

action_stage

String

Hora en que se ejecuta un script.

Se admiten las siguientes cuatro opciones:

  • before_scale_out: antes de escalar horizontalmente
  • before_scale_in: antes de reducir
  • after_scale_out: después de escalar horizontalmente
  • after_scale_in: después de reducir

fail_action

String

Si se deben continuar ejecutando scripts subsiguiente y crear un clúster después de que no se ejecute la secuencia de comandos de automatización personalizada.

  • continue: Continuar para ejecutar scripts subsiguientes.
  • errorout: detener la acción.
    NOTA:
    • Se recomienda establecer este parámetro en continue en la fase de puesta en marcha para que el clúster pueda seguir siendo instalado e iniciado sin importar si el script de automatización personalizado se ejecuta correctamente.
    • La operación de reducción no se puede deshacer. Por lo tanto, se debe establecer fail_action en continue para los scripts que se ejecutan después de escalar.

Parámetros de respuesta

Código de estado: 200

Tabla 15 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

cluster_id

String

ID de clúster, que es devuelto por el sistema después de crear el clúster.

result

Boolean

Resultado de la operación.

  • true: La operación se realiza correctamente.
  • false: Error en la operación.

msg

String

Mensaje del sistema, que puede estar vacío.

Solicitud de ejemplo

  • Creación de un clúster con Cluster HA habilitado (usando el grupo de parámetros node_groups)
    POST https://{endpoint}/v1.1/{project_id}/run-job-flow
    
    {
      "billing_type" : 12,
      "data_center" : "",
      "available_zone_id": "0e7a368b6c54493e94ad32666b47e23e",
      "cluster_name" : "mrs_HEbK",
      "cluster_version": "MRS 3.2.0-LTS.1",
      "safe_mode" : 0,
      "cluster_type" : 0,
      "component_list" : [ {
        "component_name" : "Hadoop"
      }, {
        "component_name" : "Spark"
      }, {
        "component_name" : "HBase"
      }, {
        "component_name" : "Hive"
      }, {
        "component_name" : "Presto"
      }, {
        "component_name" : "Tez"
      }, {
        "component_name" : "Hue"
      }, {
        "component_name" : "Loader"
      }, {
        "component_name" : "Flink"
      } ],
      "vpc" : "vpc-4b1c",
      "vpc_id" : "4a365717-67be-4f33-80c5-98e98a813af8",
      "subnet_id" : "67984709-e15e-4e86-9886-d76712d4e00a",
      "subnet_name" : "subnet-4b44",
      "security_groups_id" : "4820eace-66ad-4f2c-8d46-cf340e3029dd",
      "enterprise_project_id" : "0",
      "tags" : [ {
        "key" : "key1",
        "value" : "value1"
      }, {
        "key" : "key2",
        "value" : "value2"
      } ],
      "node_groups" : [ {
        "group_name" : "master_node_default_group",
        "node_num" : 2,
        "node_size" : "s3.xlarge.2.linux.bigdata",
        "root_volume_size" : 480,
        "root_volume_type" : "SATA",
        "data_volume_type" : "SATA",
        "data_volume_count" : 1,
        "data_volume_size" : 600
      }, {
        "group_name" : "core_node_analysis_group",
        "node_num" : 3,
        "node_size" : "s3.xlarge.2.linux.bigdata",
        "root_volume_size" : 480,
        "root_volume_type" : "SATA",
        "data_volume_type" : "SATA",
        "data_volume_count" : 1,
        "data_volume_size" : 600
      }, {
        "group_name" : "task_node_analysis_group",
        "node_num" : 2,
        "node_size" : "s3.xlarge.2.linux.bigdata",
        "root_volume_size" : 480,
        "root_volume_type" : "SATA",
        "data_volume_type" : "SATA",
        "data_volume_count" : 0,
        "data_volume_size" : 600,
        "auto_scaling_policy" : {
          "auto_scaling_enable" : true,
          "min_capacity" : 1,
          "max_capacity" : "3",
          "resources_plans" : [ {
            "period_type" : "daily",
            "start_time" : "9:50",
            "end_time" : "10:20",
            "min_capacity" : 2,
            "max_capacity" : 3
          }, {
            "period_type" : "daily",
            "start_time" : "10:20",
            "end_time" : "12:30",
            "min_capacity" : 0,
            "max_capacity" : 2
          } ],
          "exec_scripts" : [ {
            "name" : "before_scale_out",
            "uri" : "s3a://XXX/zeppelin_install.sh",
            "parameters" : "${mrs_scale_node_num} ${mrs_scale_type} xxx",
            "nodes" : [ "master", "core", "task" ],
            "active_master" : "true",
            "action_stage" : "before_scale_out",
            "fail_action" : "continue"
          }, {
            "name" : "after_scale_out",
            "uri" : "s3a://XXX/storm_rebalance.sh",
            "parameters" : "${mrs_scale_node_hostnames} ${mrs_scale_node_ips}",
            "nodes" : [ "master", "core", "task" ],
            "active_master" : "true",
            "action_stage" : "after_scale_out",
            "fail_action" : "continue"
          } ],
          "rules" : [ {
            "name" : "default-expand-1",
            "adjustment_type" : "scale_out",
            "cool_down_minutes" : 5,
            "scaling_adjustment" : 1,
            "trigger" : {
              "metric_name" : "YARNMemoryAvailablePercentage",
              "metric_value" : "25",
              "comparison_operator" : "LT",
              "evaluation_periods" : 10
            }
          }, {
            "name" : "default-shrink-1",
            "adjustment_type" : "scale_in",
            "cool_down_minutes" : 5,
            "scaling_adjustment" : 1,
            "trigger" : {
              "metric_name" : "YARNMemoryAvailablePercentage",
              "metric_value" : "70",
              "comparison_operator" : "GT",
              "evaluation_periods" : 10
            }
          } ]
        }
      } ],
      "login_mode" : 1,
      "cluster_master_secret" : "",
      "cluster_admin_secret" : "",
      "log_collection" : 1,
      "add_jobs" : [ {
        "job_type" : 1,
        "job_name" : "tenji111",
        "jar_path" : "s3a://bigdata/program/hadoop-mapreduce-examples-2.7.2.jar",
        "arguments" : "wordcount",
        "input" : "s3a://bigdata/input/wd_1k/",
        "output" : "s3a://bigdata/ouput/",
        "job_log" : "s3a://bigdata/log/",
        "shutdown_cluster" : true,
        "file_action" : "",
        "submit_job_once_cluster_run" : true,
        "hql" : "",
        "hive_script_path" : ""
      } ],
      "bootstrap_scripts" : [ {
        "name" : "Modify os config",
        "uri" : "s3a://XXX/modify_os_config.sh",
        "parameters" : "param1 param2",
        "nodes" : [ "master", "core", "task" ],
        "active_master" : "false",
        "before_component_start" : "true",
        "start_time" : "1667892101",
        "state" : "IN_PROGRESS",
        "fail_action" : "continue",
        "action_stages" : [ "BEFORE_COMPONENT_FIRST_START", "BEFORE_SCALE_IN" ]
      }, {
        "name" : "Install zepplin",
        "uri" : "s3a://XXX/zeppelin_install.sh",
        "parameters" : "",
        "nodes" : [ "master" ],
        "active_master" : "true",
        "before_component_start" : "false",
        "start_time" : "1667892101",
        "state" : "IN_PROGRESS",
        "fail_action" : "continue",
        "action_stages" : [ "AFTER_SCALE_IN", "AFTER_SCALE_OUT" ]
      } ]
    }
  • Creación de un clúster con Cluster HA habilitado (sin utilizar el grupo de parámetros node_groups)
    POST https://{endpoint}/v1.1/{project_id}/run-job-flow
    
    {
      "billing_type" : 12,
      "data_center" : "",
      "master_node_num" : 2,
      "master_node_size" : "s3.2xlarge.2.linux.bigdata",
      "core_node_num" : 3,
      "core_node_size" : "s3.2xlarge.2.linux.bigdata",
      "available_zone_id" : "0e7a368b6c54493e94ad32666b47e23e", 
      "cluster_name" : "newcluster",
      "vpc" : "vpc1",
      "vpc_id" : "5b7db34d-3534-4a6e-ac94-023cd36aaf74",
      "subnet_id" : "815bece0-fd22-4b65-8a6e-15788c99ee43",
      "subnet_name" : "subnet",
      "security_groups_id" : "845bece1-fd22-4b45-7a6e-14338c99ee43",
      "tags" : [ {
        "key" : "key1",
        "value" : "value1"
      }, {
        "key" : "key2",
        "value" : "value2"
      } ],
      "cluster_version" : "MRS 3.2.0-LTS.1",
      "cluster_type" : 0,
      "master_data_volume_type" : "SATA",
      "master_data_volume_size" : 600,
      "master_data_volume_count" : 1,
      "core_data_volume_type" : "SATA",
      "core_data_volume_size" : 600,
      "core_data_volume_count" : 2,
      "node_public_cert_name" : "SSHkey-bba1",
      "safe_mode" : 0,
      "log_collection" : 1,
      "task_node_groups" : [ {
        "node_num" : 2,
        "node_size" : "s3.xlarge.2.linux.bigdata",
        "data_volume_type" : "SATA",
        "data_volume_count" : 1,
        "data_volume_size" : 600,
        "auto_scaling_policy" : {
          "auto_scaling_enable" : true,
          "min_capacity" : 1,
          "max_capacity" : "3",
          "resources_plans" : [ {
            "period_type" : "daily",
            "start_time" : "9: 50",
            "end_time" : "10: 20",
            "min_capacity" : 2,
            "max_capacity" : 3
          }, {
            "period_type" : "daily",
            "start_time" : "10: 20",
            "end_time" : "12: 30",
            "min_capacity" : 0,
            "max_capacity" : 2
          } ],
          "exec_scripts" : [ {
            "name" : "before_scale_out",
            "uri" : "s3a: //XXX/zeppelin_install.sh",
            "parameters" : "${mrs_scale_node_num}${mrs_scale_type}xxx",
            "nodes" : [ "master", "core", "task" ],
            "active_master" : "true",
            "action_stage" : "before_scale_out",
            "fail_action" : "continue"
          }, {
            "name" : "after_scale_out",
            "uri" : "s3a: //XXX/storm_rebalance.sh",
            "parameters" : "${mrs_scale_node_hostnames}${mrs_scale_node_ips}",
            "nodes" : [ "master", "core", "task" ],
            "active_master" : "true",
            "action_stage" : "after_scale_out",
            "fail_action" : "continue"
          } ],
          "rules" : [ {
            "name" : "default-expand-1",
            "adjustment_type" : "scale_out",
            "cool_down_minutes" : 5,
            "scaling_adjustment" : 1,
            "trigger" : {
              "metric_name" : "YARNMemoryAvailablePercentage",
              "metric_value" : "25",
              "comparison_operator" : "LT",
              "evaluation_periods" : 10
            }
          }, {
            "name" : "default-shrink-1",
            "adjustment_type" : "scale_in",
            "cool_down_minutes" : 5,
            "scaling_adjustment" : 1,
            "trigger" : {
              "metric_name" : "YARNMemoryAvailablePercentage",
              "metric_value" : "70",
              "comparison_operator" : "GT",
              "evaluation_periods" : 10
            }
          } ]
        }
      } ],
      "component_list" : [ {
        "component_name" : "Hadoop"
      }, {
        "component_name" : "Spark"
      }, {
        "component_name" : "HBase"
      }, {
        "component_name" : "Hive"
      } ],
      "add_jobs" : [ {
        "job_type" : 1,
        "job_name" : "tenji111",
        "jar_path" : "s3a: //bigdata/program/hadoop-mapreduce-examples-2.7.2.jar",
        "arguments" : "wordcount",
        "input" : "s3a: //bigdata/input/wd_1k/",
        "output" : "s3a: //bigdata/ouput/",
        "job_log" : "s3a: //bigdata/log/",
        "shutdown_cluster" : true,
        "file_action" : "",
        "submit_job_once_cluster_run" : true,
        "hql" : "",
        "hive_script_path" : ""
      } ],
      "bootstrap_scripts" : [ {
        "name" : "Modifyosconfig",
        "uri" : "s3a: //XXX/modify_os_config.sh",
        "parameters" : "param1param2",
        "nodes" : [ "master", "core", "task" ],
        "active_master" : "false",
        "before_component_start" : "true",
        "start_time" : "1667892101",
        "state" : "IN_PROGRESS",
        "fail_action" : "continue",
        "action_stages" : [ "BEFORE_COMPONENT_FIRST_START", "BEFORE_SCALE_IN" ]
      }, {
        "name" : "Installzepplin",
        "uri" : "s3a: //XXX/zeppelin_install.sh",
        "parameters" : "",
        "nodes" : [ "master" ],
        "active_master" : "true",
        "before_component_start" : "false",
        "start_time" : "1667892101",
        "state" : "IN_PROGRESS",
        "fail_action" : "continue",
        "action_stages" : [ "AFTER_SCALE_IN", "AFTER_SCALE_OUT" ]
      } ]
    }
  • Deshabilitar la función Cluster HA y crear un clúster con las especificaciones mínimas (usando el grupo de parámetros node_groups)
    POST https://{endpoint}/v1.1/{project_id}/run-job-flow
    
    {
      "billing_type" : 12,
      "data_center" : "",
      "available_zone_id" : "0e7a368b6c54493e94ad32666b47e23e",
      "cluster_name" : "mrs_HEbK",
      "cluster_version" : "MRS 3.2.0-LTS.1",
      "safe_mode" : 0,
      "cluster_type" : 0,
      "component_list" : [ {
        "component_name" : "Hadoop"
      }, {
        "component_name" : "Spark"
      }, {
        "component_name" : "HBase"
      }, {
        "component_name" : "Hive"
      }, {
        "component_name" : "Presto"
      }, {
        "component_name" : "Tez"
      }, {
        "component_name" : "Hue"
      }, {
        "component_name" : "Loader"
      }, {
        "component_name" : "Flink"
      } ],
      "vpc" : "vpc-4b1c",
      "vpc_id" : "4a365717-67be-4f33-80c5-98e98a813af8",
      "subnet_id" : "67984709-e15e-4e86-9886-d76712d4e00a",
      "subnet_name" : "subnet-4b44",
      "security_groups_id" : "4820eace-66ad-4f2c-8d46-cf340e3029dd",
      "enterprise_project_id" : "0",
      "tags" : [ {
        "key" : "key1",
        "value" : "value1"
      }, {
        "key" : "key2",
        "value" : "value2"
      } ],
      "node_groups" : [ {
        "group_name" : "master_node_default_group",
        "node_num" : 1,
        "node_size" : "s3.xlarge.2.linux.bigdata",
        "root_volume_size" : 480,
        "root_volume_type" : "SATA",
        "data_volume_type" : "SATA",
        "data_volume_count" : 1,
        "data_volume_size" : 600
      }, {
        "group_name" : "core_node_analysis_group",
        "node_num" : 1,
        "node_size" : "s3.xlarge.2.linux.bigdata",
        "root_volume_size" : 480,
        "root_volume_type" : "SATA",
        "data_volume_type" : "SATA",
        "data_volume_count" : 1,
        "data_volume_size" : 600
      } ],
      "login_mode" : 1,
      "cluster_master_secret" : "",
      "cluster_admin_secret" : "",
      "log_collection" : 1,
      "add_jobs" : [ {
        "job_type" : 1,
        "job_name" : "tenji111",
        "jar_path" : "s3a://bigdata/program/hadoop-mapreduce-examples-2.7.2.jar",
        "arguments" : "wordcount",
        "input" : "s3a://bigdata/input/wd_1k/",
        "output" : "s3a://bigdata/ouput/",
        "job_log" : "s3a://bigdata/log/",
        "shutdown_cluster" : true,
        "file_action" : "",
        "submit_job_once_cluster_run" : true,
        "hql" : "",
        "hive_script_path" : ""
      } ],
      "bootstrap_scripts" : [ {
        "name" : "Modify os config",
        "uri" : "s3a://XXX/modify_os_config.sh",
        "parameters" : "param1 param2",
        "nodes" : [ "master", "core", "task" ],
        "active_master" : "false",
        "before_component_start" : "true",
        "start_time" : "1667892101",
        "state" : "IN_PROGRESS",
        "fail_action" : "continue",
        "action_stages" : [ "BEFORE_COMPONENT_FIRST_START", "BEFORE_SCALE_IN" ]
      }, {
        "name" : "Install zepplin",
        "uri" : "s3a://XXX/zeppelin_install.sh",
        "parameters" : "",
        "nodes" : [ "master" ],
        "active_master" : "true",
        "before_component_start" : "false",
        "start_time" : "1667892101",
        "state" : "IN_PROGRESS",
        "fail_action" : "continue",
        "action_stages" : [ "AFTER_SCALE_IN", "AFTER_SCALE_OUT" ]
      } ]
    }
  • Deshabilitar la función Cluster HA y crear un clúster con las especificaciones mínimas (sin utilizar el grupo de parámetros node_groups)
    POST https://{endpoint}/v1.1/{project_id}/run-job-flow
    
    {
      "billing_type" : 12,
      "data_center" : "",
      "master_node_num" : 1,
      "master_node_size" : "s3.2xlarge.2.linux.bigdata",
      "core_node_num" : 1,
      "core_node_size"  "s3.2xlarge.2.linux.bigdata", 
      "available_zone_id" : "0e7a368b6c54493e94ad32666b47e23e", 
      "cluster_name" : "newcluster",
      "vpc" : "vpc1",
      "vpc_id" : "5b7db34d-3534-4a6e-ac94-023cd36aaf74",
      "subnet_id" : "815bece0-fd22-4b65-8a6e-15788c99ee43",
      "subnet_name" : "subnet",
      "security_groups_id" : "",
      "enterprise_project_id" : "0",
      "tags" : [ {
        "key" : "key1",
        "value" : "value1"
      }, {
        "key" : "key2",
        "value" : "value2"
      } ],
      "cluster_version" : "MRS 3.2.0-LTS.1",
      "cluster_type" : 0,
      "master_data_volume_type" : "SATA",
      "master_data_volume_size" : 600,
      "master_data_volume_count" : 1,
      "core_data_volume_type" : "SATA",
      "core_data_volume_size" : 600,
      "core_data_volume_count" : 1,
      "login_mode" : 1,
      "node_public_cert_name" : "SSHkey-bba1",
      "safe_mode" : 0,
      "cluster_admin_secret" : "******",
      "log_collection" : 1,
      "component_list" : [ {
        "component_name" : "Hadoop"
      }, {
        "component_name" : "Spark"
      }, {
        "component_name" : "HBase"
      }, {
        "component_name" : "Hive"
      }, {
        "component_name" : "Presto"
      }, {
        "component_name" : "Tez"
      }, {
        "component_name" : "Hue"
      }, {
        "component_name" : "Loader"
      }, {
        "component_name" : "Flink"
      } ],
      "add_jobs" : [ {
        "job_type" : 1,
        "job_name" : "tenji111",
        "jar_path" : "s3a://bigdata/program/hadoop-mapreduce-examples-XXX.jar",
        "arguments" : "wordcount",
        "input" : "s3a://bigdata/input/wd_1k/",
        "output" : "s3a://bigdata/ouput/",
        "job_log" : "s3a://bigdata/log/",
        "shutdown_cluster" : false,
        "file_action" : "",
        "submit_job_once_cluster_run" : true,
        "hql" : "",
        "hive_script_path" : ""
      } ],
      "bootstrap_scripts" : [ {
        "name" : "Install zepplin",
        "uri" : "s3a://XXX/zeppelin_install.sh",
        "parameters" : "",
        "nodes" : [ "master" ],
        "active_master" : "false",
        "before_component_start" : "false",
        "start_time" : "1667892101",
        "state" : "IN_PROGRESS",
        "fail_action" : "continue",
        "action_stages" : [ "AFTER_SCALE_IN", "AFTER_SCALE_OUT" ]
      } ]
    }

Ejemplo de respuesta

Código de estado: 200

Se crea el clúster.

{
  "cluster_id" : "da1592c2-bb7e-468d-9ac9-83246e95447a",
  "result" : true,
  "msg" : ""
}

Códigos de estado

Tabla 16 describe el código de estado.

Tabla 16 Código de estado

Código de estado

Descripción

200

Se ha creado el clúster.

Consulte Códigos de estado.

Códigos de error

Consulte Códigos de error.