Wie kann ich Warteschlangen in meinem Amazon EMR YARN CapacityScheduler erstellen?

Lesedauer: 3 Minute
0

Wie erstelle ich Warteschlangen auf meinem Amazon EMR Hadoop YARN CapacityScheduler?

Kurzbeschreibung

EMR-Cluster haben standardmäßig eine einzige Warteschlange. Sie können Ihrem Cluster zusätzliche Warteschlangen hinzufügen und Ihren neuen Warteschlangen verfügbare Cluster-Ressourcenkapazität zuweisen.

Lösung

Erstellen eines Rekonfigurationsbefehls

Die folgende Beispielrekonfiguration führt Folgendes aus:

  • Erstellt zwei zusätzliche Warteschlangen, Alpha und Beta.
  • Weist jeder der neuen Warteschlangen 30 % der gesamten Ressourcenkapazität Ihres Clusters zu. Beim Hinzufügen von Warteschlangen und beim Zuweisen von Clusterkapazität muss die Summe der Kapazitäten für alle Warteschlangen gleich 100 sein. In der folgenden Beispielrekonfiguration sinkt also die Kapazität der Standardwarteschlange auf 40 %.
  • Bietet vollen Zugriff (gekennzeichnet durch „*“) auf beide Warteschlangen. Dadurch können beide Warteschlangen auf gekennzeichnete Core-Knoten zugreifen.
  • Um an eine bestimmte Warteschlange zu senden, geben Sie die Warteschlange im Parameter yarn.scheduler.capacity.queue-mappings an. Dieser Parameter ordnet Benutzer einer Warteschlange zu, die denselben Namen wie der Benutzer hat. Der Name der übergeordneten Warteschlange muss mit der primären Gruppe des Benutzers übereinstimmen, z. B. u:user:primary_group.user. Im folgenden Beispiel ist der Parameter auf u:hadoop:alpha gesetzt. Dieser ist der neu erstellten Warteschlange alpha zugeordnet.

Hinweis: Die Kapazität für den Zugriff jeder Warteschlange auf die Core-Kennzeichnung entspricht der Kapazität der Warteschlange selbst. Die Core-Partition teilt sich also im gleichen Verhältnis wie der Rest des Clusters zwischen Warteschlangen auf.

- 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: []

Hinweis: Wenn Sie die Standardeinstellungen für die Warteschlangenzuordnung überschreiben möchten, setzen Sie den Parameter yarn.scheduler.capacity.queue-mappings-override.enable auf true. Standardmäßig ist dieser Parameter auf false gesetzt. Wenn der Wert auf true gesetzt ist, können Benutzer Aufträge an andere Warteschlangen als die angegebene Warteschlange senden. Weitere Informationen finden Sie unter Enable Override of Default Queue Mappings (Aktivieren der Überschreibung von Standard-Warteschlangenzuordnungen) auf der Dokumentationswebsite von Hortonworks.

Verifizieren Ihrer Änderungen

Rufen Sie die Weboberfläche von YARN ResourceManager auf, um zu überprüfen, ob Ihre Änderungen vorgenommen wurden.

Das Folgende ist ein Beispiel für einen Spark-Auftrag, der in Amazon EMR 6.4.0 eingereicht wurde und der die vorherige Beispielrekonfiguration enthält:

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"

Zugehörige Informationen

Hadoop: Capacity Scheduler auf der Apache-Hadoop-Website

Configure Hadoop YARN CapacityScheduler on Amazon EMR on Amazon EC2 for multi-tenant heterogeneous workloads (Konfigurieren von Hadoop YARN CapacityScheduler in Amazon EMR in Amazon EC2 für heterogene Workloads mit mehreren Mandanten)

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr