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.
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 |
|
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
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
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
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
cluster_version |
Sí |
String |
La versión del clúster. Valores posibles:
|
cluster_name |
Sí |
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 |
Sí |
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 |
Sí |
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 |
Sí |
Integer |
El modo de facturación del clúster.
|
data_center |
Sí |
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 |
Sí |
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:
En la página Virtual Private Cloud, obtenga el nombre de la VPC de la lista. |
master_node_size |
Sí |
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 |
Sí |
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 |
Sí |
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 |
Sí |
String |
El ID de zona de disponibilidad.
|
vpc_id |
Sí |
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:
En la página Virtual Private Cloud, obtenga el ID de VPC de la lista. |
subnet_id |
Sí |
String |
El ID de subred. Obtenga el ID de subred realizando las siguientes operaciones en la consola de gestión de VPC:
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 |
Sí |
String |
El nombre de la subred. Obtenga el nombre de subred realizando las siguientes operaciones en la consola de gestión de VPC:
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.
|
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:
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:
|
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:
|
cluster_master_secret |
Sí |
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:
|
safe_mode |
Sí |
Integer |
El modo de ejecución de un clúster MRS. Valores posibles:
|
tags |
No |
Array of tag objects |
Las etiquetas de clúster. Para obtener más información sobre los parámetros, consulte Tabla 9.
|
cluster_type |
No |
Integer |
El tipo de clúster. Valores posibles:
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:
|
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.
Valores posibles:
|
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 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
component_name |
Sí |
String |
El nombre del componente. Para obtener más información, consulte la información de componentes de Tabla 1. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
job_type |
Sí |
Integer |
El código de tipo de trabajo. Valores posibles:
|
job_name |
Sí |
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:
|
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.
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.
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.
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.
|
file_action |
No |
String |
La acción que se va a realizar en un archivo. Valores posibles:
|
submit_job_once_cluster_run |
Sí |
Boolean |
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:
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
node_num |
Sí |
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 |
Sí |
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 |
Sí |
String |
El tipo de almacenamiento en disco de datos de los nodos task. Valores posibles:
|
data_volume_count |
Sí |
Integer |
El número de discos de datos de un nodo task. Rango de valores: 0 a 10 |
data_volume_size |
Sí |
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. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
auto_scaling_enable |
Sí |
Boolean |
Si se debe habilitar la política de escalado automático. |
min_capacity |
Sí |
Integer |
Número mínimo de nodos reservados en el grupo de nodos. Rango de valores: 0 a 500 |
max_capacity |
Sí |
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. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
name |
Sí |
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 |
Sí |
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.
|
parameters |
No |
String |
Los parámetros de script de acción de arranque. |
nodes |
Sí |
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 |
Sí |
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.
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.
|
action_stages |
No |
Array of strings |
Seleccione la hora a la que se ejecuta el script de acción de arranque.
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
key |
Sí |
String |
La clave de etiqueta.
|
value |
Sí |
String |
El valor.
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
group_name |
Sí |
String |
Nombre del grupo de nodos. Valores posibles:
|
node_num |
Sí |
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 |
Sí |
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:
|
data_volume_type |
No |
String |
El tipo de almacenamiento de disco de datos de un nodo. Valores posibles:
|
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. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
period_type |
Sí |
String |
Cycle type of a resource plan. Actualmente, solo se admite el siguiente tipo de ciclo: daily |
start_time |
Sí |
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 |
Sí |
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 |
Sí |
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 |
Sí |
Integer |
Número máximo de nodos conservados en un grupo de nodos de un plan de recursos. Rango de valores: 0 a 500 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
name |
Sí |
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 |
Sí |
String |
Tipo de ajuste de regla de escalado automático. Valores posibles:
|
cool_down_minutes |
Sí |
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 |
Sí |
Integer |
Número de nodos que se pueden ajustar una vez. Rango de valores: 1 a 100 |
trigger |
Sí |
trigger object |
Condición para activar una regla. Para obtener más información, consulte Tabla 13. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
metric_name |
Sí |
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 |
Sí |
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:
|
evaluation_periods |
Sí |
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 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
name |
Sí |
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 |
Sí |
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.
|
parameters |
No |
String |
Parámetros de un script de automatización personalizado.
|
nodes |
Sí |
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 |
Sí |
String |
Hora en que se ejecuta un script. Se admiten las siguientes cuatro opciones:
|
fail_action |
Sí |
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.
|
Parámetros de respuesta
Código de estado: 200
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.
|
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 error
Consulte Códigos de error.