¿Cómo puedo crear colas con CapacityScheduler de YARN en Amazon EMR?
Última actualización: 07/12/2022
¿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)
¿Le resultó útil este artículo?
¿Necesita asistencia técnica o con la facturación?