¿Cómo puedo crear colas con CapacityScheduler de YARN en Amazon EMR?

3 minutos de lectura
0

¿Cómo creo colas con CapacityScheduler de YARN en Amazon EMR?

Descripción breve

Los clústeres de EMR tienen una sola cola de forma predeterminada. Puede agregar colas adicionales a su clúster y asignar la capacidad de recursos del clúster disponible a las nuevas colas.

Resolución

Crear un comando de reconfiguración

El siguiente ejemplo de reconfiguración hace lo siguiente:

  • Crea dos colas adicionales, alfa y beta.
  • Asigna el 30 % de la capacidad total de recursos de su clúster a cada una de las nuevas colas. Al agregar colas y asignar la capacidad del clúster, la suma de capacidades de todas las colas debe ser igual a 100. Por lo tanto, en el siguiente ejemplo de reconfiguración, la capacidad de la cola predeterminada se reduce al 40 %.
  • Proporciona acceso total (designado con la etiqueta “*”) a ambas colas. Esto permite que ambas colas accedan a los nodos principales etiquetados.
  • Para enviar a una cola determinada, especifique la cola en el parámetro yarn.scheduler.capacity.queue-mappings. Este parámetro asigna a los usuarios a una cola con el mismo nombre que el usuario. El nombre de la cola principal debe ser el mismo que el del grupo principal del usuario, por ejemplo u:usuario:grupo_principal.usuario. En el siguiente ejemplo, el parámetro se establece en u:hadoop:alfa. Esto se asigna a la cola alfa recién creada.

Nota: La capacidad de acceso de cada cola a la etiqueta principal coincide con la capacidad de la propia cola. Por lo tanto, la partición principal se divide entre las colas en la misma proporción que el resto del clúster.

- Classification: capacity-scheduler
  Properties:
    yarn.scheduler.capacity.root.queues: 'default,alpha,beta'
    yarn.scheduler.capacity.root.default.capacity: '40'
    yarn.scheduler.capacity.root.default.accessible-node-labels.CORE.capacity: '40'
    yarn.scheduler.capacity.root.alpha.capacity: '30'
    yarn.scheduler.capacity.root.alpha.accessible-node-labels: '*'
    yarn.scheduler.capacity.root.alpha.accessible-node-labels.CORE.capacity: '30'
    yarn.scheduler.capacity.root.beta.capacity: '30'
    yarn.scheduler.capacity.root.beta.accessible-node-labels: '*'
    yarn.scheduler.capacity.root.beta.accessible-node-labels.CORE.capacity: '30'
- classification: yarn-site
  properties:
    yarn.scheduler.capacity.queue-mappings: 'u:hadoop:alpha'
  configurations: []

Nota: Si desea anular la configuración predeterminada de asignación de colas, establezca el parámetro yarn.scheduler.capacity.queue-mappings-override.enable en true. De forma predeterminada, este parámetro está establecido en false. Si se establece en true, los usuarios pueden enviar trabajos a colas distintas de la cola designada. Para obtener más información, consulte Enable override of default queue mappings (Habilitar la anulación de las asignaciones de colas predeterminadas) en el sitio web de Hortonworks Docs.

Verificar modificaciones

Acceda a la interfaz de usuario web de ResourceManager de YARN para comprobar que se han realizado las modificaciones.

El siguiente es un ejemplo de un trabajo de Spark enviado en Amazon EMR 6.4.0 que tiene la reconfiguración del ejemplo anterior:

spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster --conf spark.driver.memoryOverhead=512 --conf spark.executor.memoryOverhead=512 /usr/lib/spark/examples/jars/spark-examples.jar 100

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/lib/spark/jars/slf4j-log4j12-1.7.30.jar!/org/slf4j/impl/StaticLoggerBinder.class]
...
...
...
22/11/29 07:58:07 INFO Client: Application report for application_1669707794547_0001 (state: ACCEPTED)
22/11/29 07:58:08 INFO Client: Application report for application_1669707794547_0001 (state: RUNNING)

This application application_1669707794547_0001 is submitted to queue "alpha"

Información relacionada

Hadoop: Capacity Scheduler (Hadoop: Programador de capacidades) en el sitio web de Apache Hadoop

Configure Hadoop YARN CapacityScheduler on Amazon EMR on Amazon EC2 for multi-tenant heterogeneous workloads (Configure CapacityScheduler de YARN en Hadoop en Amazon EMR en Amazon EC2 para cargas de trabajo heterogéneas de varios usuarios)

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año