Comment créer des files d'attente sur mon Amazon EMR YARN CapacityScheduler ?

Lecture de 3 minute(s)
0

Comment créer des files d'attente sur mon Amazon EMR Hadoop YARN CapacityScheduler ?

Brève description

Les clusters EMR ont une seule file d'attente par défaut. Vous pouvez ajouter des files d'attente supplémentaires à votre cluster et allouer la capacité de ressources de cluster disponible à vos nouvelles files d'attente.

Solution

Création d'une commande de reconfiguration

L'exemple de reconfiguration suivant effectue les opérations suivantes :

  • Crée deux files d'attente supplémentaires, alpha et bêta.
  • Alloue 30 % de la capacité totale de ressources de votre cluster à chacune des nouvelles files d'attente. Lors de l'ajout de files d'attente et de l'allocation de la capacité du cluster, la somme des capacités pour toutes les files d'attente doit être égale à 100. Ainsi, dans l'exemple de reconfiguration suivant, la capacité de la file d'attente par défaut diminue à 40 %.
  • Fournit un accès complet (désigné par l'étiquette «* ») aux deux files d'attente. Cela permet aux deux files d'attente d'accéder aux nœuds principaux étiquetés.
  • Pour soumettre à une file d'attente particulière, spécifiez la file d'attente dans le paramètre yarn.scheduler.capacity.queue-mappings. Ce paramètre met les utilisateurs en correspondance avec une file d'attente portant le même nom que l'utilisateur. Le nom de la file d'attente parent doit être identique à celui du groupe principal de l'utilisateur, par exemple u:user:primary_group.user. Dans l'exemple suivant, le paramètre est défini sur u:hadoop:alpha. Cela correspond à l'alpha de la file d'attente nouvellement créée.

Remarque : La capacité d'accès de chaque file d'attente à l'étiquette principale correspond à la capacité de la file d'attente elle-même. Ainsi, la partition principale se divise entre les files d'attente selon le même ratio que le reste du 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: []

Remarque : Si vous souhaitez remplacer les paramètres de mappage de files d'attente par défaut, définissez le paramètre yarn.scheduler.capacity.queue-mappings-override.enable sur true(vrai). Par défaut, ce paramètre est défini sur false(faux). Lorsque cette valeur est définie sur true (vrai), les utilisateurs peuvent soumettre des tâches à des files d'attente autres que la file d'attente désignée. Pour plus d'informations, voir Activer le remplacement des mappages de files d'attente par défaut sur le site Web de Hortonworks Docs.

Vérifiez vos modifications

Accédez à l'interface utilisateur Web de YARN ResourceManager pour vérifier que vos modifications ont bien eu lieu.

Voici un exemple de tâche Spark soumise sur Amazon EMR 6.4.0 qui comporte l'exemple de reconfiguration précédent :

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"

Informations connexes

Hadoop : planificateur de capacité sur le site Web d'Apache Hadoop

Configurez Hadoop YARN CapacityScheduler sur Amazon EMR sur Amazon EC2 pour les charges de travail hétérogènes multi-locataires

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an