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/ Pasos iniciales/ Envío de tareas de Spark a nuevos nodos de Task
Actualización más reciente 2023-11-20 GMT+08:00

Envío de tareas de Spark a nuevos nodos de Task

Agregue nodos de task a un clúster MRS personalizado para aumentar la capacidad informática. Los nodos de task se utilizan principalmente para procesar datos en lugar de almacenarlos permanentemente.

Actualmente, los nodos de task solo se pueden agregar a clústeres MRS personalizados.

En esta sección se describe cómo enlazar un nuevo nodo de task con recursos del tenant y enviar tareas de Spark al nuevo nodo de task. Puede comenzar leyendo los siguientes temas:

  1. Adición de nodos de Task
  2. Creación de un grupo de recursos
  3. Creación de un tenant
  4. Configuración de colas
  5. Configuración de políticas de distribución de recursos
  6. Creación de un usuario
  7. Uso de spark-submit para enviar una tarea
  8. Eliminación de nodos de Task

Adición de nodos de Task

  1. En la página de detalles de un clúster MRS personalizado, haga clic en la pestaña Nodes. En esta página de fichas, haga clic en Add Node Group.
  2. En la página Add Node Group que se muestra, establezca los parámetros según sea necesario.
    Tabla 1 Parámetros para agregar un grupo de nodos

    Parámetro

    Descripción

    Instance Specifications

    Seleccione el tipo de variante de los hosts en el grupo de nodos.

    Nodes

    Configure el número de nodos en el grupo de nodos.

    System Disk

    Configure las especificaciones y la capacidad de los discos del sistema en los nuevos nodos.

    Data Disk (GB)/Disks

    Establezca las especificaciones, la capacidad y el número de discos de datos de los nuevos nodos.

    Deploy Roles

    Seleccione NM para agregar un rol de NodeManager.

  3. Haga clic en OK.

Creación de un grupo de recursos

  1. En la página de detalles del clúster, haga clic en Tenants.
  2. Haga clic en Resource Pools.
  3. Haga clic en Create Resource Pool.
  4. En la página Create Resource Pool, establezca las propiedades del grupo de recursos.

    • Name: Introduzca el nombre del grupo de recursos, por ejemplo, test1.
    • Resource Label: Introduzca la etiqueta del grupo de recursos, por ejemplo, 1.
    • Available Hosts: Ingrese el nodo agregado a Adición de nodos de Task.

  5. Haga clic en OK.

Creación de un tenant

  1. En la página de detalles del clúster, haga clic en Tenants.
  2. Haga clic en Create Tenant. En la página mostrada, configure las propiedades de tenant.

    Tabla 2 Parámetros del tenant

    Parámetro

    Descripción

    Name

    Establezca el nombre del tenant, por ejemplo, tenant_spark.

    Tenant Type

    Seleccione Leaf. Si se selecciona Leaf, el tenant actual es un tenant hoja y no se puede agregar ningún subtenant. Si se selecciona Non-leaf, se pueden agregar subtenants al tenant actual.

    Dynamic Resource

    Si se selecciona Yarn, el sistema crea automáticamente una cola de tareas con el nombre del tenant en Yarn. Si Yarn no está seleccionado, el sistema no crea automáticamente una cola de tareas.

    Default Resource Pool Capacity (%)

    Establezca el porcentaje de recursos informáticos utilizados por el tenant actual en el grupo de recursos default por ejemplo, 20%.

    Default Resource Pool Max. Capacity (%)

    Establezca el porcentaje máximo de recursos informáticos utilizados por el tenant actual en el grupo de recursos default por ejemplo, 80%.

    Storage Resource

    Si se selecciona HDFS, el sistema crea automáticamente el directorio /tenant bajo el directorio raíz del HDFS cuando se crea un tenant por primera vez. Si HDFS no está seleccionado, el sistema no crea un directorio de almacenamiento bajo el directorio raíz del HDFS.

    Maximum Number of Files/Directories

    Establezca el número máximo de archivos o directorios, por ejemplo, 100000000000.

    Storage Space Quota (MB)

    Establezca la cuota para usar el espacio de almacenamiento, por ejemplo, 50000 MB. Este parámetro indica el espacio de almacenamiento HDFS máximo que puede utilizar un tenant, pero no el espacio real utilizado. Si su valor es mayor que el tamaño del disco físico HDFS, el espacio máximo disponible es el espacio completo del disco físico HDFS.

    NOTA:

    Para garantizar la confiabilidad de los datos, el sistema genera automáticamente un archivo de copia de respaldo cuando se almacena un archivo en el HDFS. Es decir, dos réplicas del mismo archivo se almacenan de forma predeterminada. El espacio de almacenamiento HDFS indica el espacio total en disco ocupado por todas estas réplicas. Por ejemplo, si el valor de Storage Space Quota se establece en 500, el espacio real para almacenar archivos es de aproximadamente 250 MB (500/2 = 250).

    Storage Path

    Establezca la ruta de almacenamiento, por ejemplo, tenant/spark_test. El sistema crea automáticamente una carpeta con el nombre del tenant en el directorio /tenant de forma predeterminada, por ejemplo, spark_test. El directorio de almacenamiento HDFS predeterminado para tenant spark_test es tenant/spark_test. Cuando se crea un tenant por primera vez, el sistema crea el directorio /tenant en el directorio raíz HDFS. La ruta de almacenamiento es personalizable.

    Services

    Establezca otros recursos de servicio asociados con el tenant actual. HBase es compatible. Para configurar este parámetro, haga clic en Associate Services. En el cuadro de diálogo que se muestra, establezca Service en HBase. Si Association Mode se establece en Exclusive, los recursos de servicio se ocupan exclusivamente. Si se selecciona share, se comparten los recursos de servicio.

    Description

    Introduzca la descripción del tenant actual.

  3. Haga clic en OK para guardar la configuración.

    Se tarda unos minutos en guardar la configuración. Si el Tenant created successfully se muestra en la esquina superior derecha, el tenant se agrega correctamente.

    • Los roles, los recursos informáticos y los recursos de almacenamiento se crean automáticamente cuando se crean los tenants.
    • El nuevo rol tiene permisos sobre los recursos informáticos y de almacenamiento. El rol y sus permisos son controlados por el sistema automáticamente y no pueden ser controlados manualmente en Manage Role.
    • Si desea utilizar el tenant, cree un usuario del sistema y asigne al usuario el rol Manager_tenant y el rol correspondiente al tenant.

Configuración de colas

  1. En la página de detalles del clúster, haga clic en Tenants.
  2. Haga clic en la pestaña Queue Configuration.
  3. En la tabla de colas de tenant, haga clic en Modify en la columna Operation de la cola de tenant especificada.

    • En la lista de tenants a la izquierda de la página Tenant Management, haga clic en el tenant de destino. En la ventana que se muestra, elija Resource. En la página mostrada, haga clic en para abrir la página de modificación de cola.
    • Una cola puede estar enlazada a un solo grupo de recursos no predeterminado.

    De forma predeterminada, la etiqueta de recurso es la especificada en Creación de un grupo de recursos. Establezca otros parámetros en función de los requisitos del sitio.

  4. Haga clic en OK.

Configuración de políticas de distribución de recursos

  1. En la página de detalles del clúster, haga clic en Tenants.
  2. Haga clic en Resource Distribution Policies y seleccione el grupo de recursos creado en Creación de un grupo de recursos.
  3. Busque la fila que contiene tenant_spark y haga clic en Modify en la columna Operation.

    • Weight: 20
    • Minimum Resource: 20
    • Maximum Resource: 80
    • Reserved Resource: 10

  4. Haga clic en OK.

Creación de un usuario

  1. Inicie sesión en FusionInsight Manager. Para obtener más información, consulte Acceso a FusionInsight Manager.
  2. Elija System > Permission > User. En la página mostrada, haga clic en Create User.

    • Username: spark_test
    • User Type: Human-Machine
    • User Group: hadoop and hive
    • Primary Group: hadoop
    • Role: tenant_spark

  3. Haga clic en OK para agregar el usuario.

Uso de spark-submit para enviar una tarea

  1. Inicie sesión en el nodo cliente como usuario root y ejecute los siguientes comandos:

    cd Client installation directory

    source bigdata_env

    source Spark2x/component_env

    Para un clúster con autenticación Kerberos habilitada, ejecute el comando kinit spark_test. Para un clúster con la autenticación Kerberos deshabilitada, omita este paso.

    Introduzca la contraseña para la autenticación. Cambie la contraseña cuando inicie sesión por primera vez.

    cd Spark2x/spark/bin

    sh spark-submit --queue tenant_spark --class org.apache.spark.examples.SparkPi --master yarn-client ../examples/jars/spark-examples_*.jar

Eliminación de nodos de Task

  1. En la página de detalles del clúster, haga clic en Nodes.
  2. Busque la fila que contiene el grupo de nodos de tarea de destino y haga clic en Scale In en la columna Operation.
  3. Establezca el Scale-In Type en Specific node y seleccione los nodos de destino.

    Los nodos de destino necesitan ser apagados.

  4. Seleccione I understand the consequences of performing the scale-in operation y haga clic en OK.