Come posso creare code sul mio Amazon EMR YARN CapacityScheduler?

3 minuti di lettura
0

Come faccio a creare code sul mio Amazon EMR Hadoop YARN CapacityScheduler?

Breve descrizione

Per impostazione predefinita, i cluster EMR hanno una coda singola. È possibile aggiungere code aggiuntive al cluster e allocare la capacità di risorse del cluster disponibile alle nuove code.

Risoluzione

Crea un comando di riconfigurazione

Il seguente esempio di riconfigurazione fa quanto segue:

  • Crea due code aggiuntive, alpha e beta.
  • Assegna il 30% della capacità totale delle risorse del cluster a ciascuna delle nuove code. Quando si aggiungono code e si assegna la capacità del cluster, la somma delle capacità per tutte le code deve essere pari a 100. Quindi, nel seguente esempio di riconfigurazione, la capacità della coda predefinita diminuisce al 40%.
  • Fornisce l'accesso completo (indicato dall'etichetta "*") a entrambe le code. Ciò consente a entrambe le code di accedere ai nodi principali etichettati.
  • Per effettuare l'invio a una determinata coda, specifica la coda nel parametro yarn.scheduler.capacity.queue-mappings. Questo parametro associa gli utenti a una coda con lo stesso nome dell'utente. Il nome della coda principale deve essere lo stesso del gruppo primario dell'utente, ad esempio u:user:primary_group.user. Nell'esempio seguente, il parametro è impostato su u:hadoop:alpha. Questo corrisponde alla coda alpha appena creata.

Nota: la capacità di accesso di ogni coda all'etichetta principale corrisponde alla capacità della coda stessa. Pertanto, la partizione principale si divide tra le code con lo stesso rapporto del resto del cluster.

- 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: se desideri sovrascrivere le impostazioni di mappatura delle code predefinite, imposta il parametro yarn.scheduler.capacity.queue-mappings-override.enable su true. Per impostazione predefinita, questo parametro è impostato su false. Se impostato su true, gli utenti possono inviare lavori a code diverse dalla coda designata. Per ulteriori informazioni, consulta Enable override of default queue mappings (Abilitare l'override delle mappature di coda predefinite) sul sito Web di Hortonworks Docs.

Verifica le tue modifiche

Accedi all'interfaccia utente Web di YARN ResourceManager per verificare che le modifiche siano state apportate.

Di seguito è riportato un esempio di job Spark inviato su Amazon EMR 6.4.0 con l'esempio precedente di riconfigurazione:

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"

Informazioni correlate

Hadoop: Capacity Scheduler (pianificatore di capacità Hadoop) sul sito Web di Apache Hadoop

Configura Hadoop YARN CapacityScheduler su Amazon EMR su Amazon EC2 per carichi di lavoro eterogenei multi-tenant

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa