Comment résoudre les échecs d'étiquette de nœud et YARN ResourceManager dans Amazon EMR ?

Date de la dernière mise à jour : 15/06/2020

J'ai activé les étiquettes de nœud sur un cluster Amazon EMR. Ensuite, YARN ResourceManager échoue. Comment résoudre ce problème ?

Brève description

Ce problème affecte les versions 5.19.0-5.21.0 d'Amazon EMR. Dans ces versions, Amazon EMR stocke les fichiers d'étiquette de nœud dans HDFS :

  • DEFAULT_DIR_NAME = "node-labels"
  • MIRROR_FILENAME = "nodelabel.mirror"
  • EDITLOG_FILENAME = "nodelabel.editlog"

Amazon EMR stocke ces fichiers dans l'emplacement suivant dans yarn-site.xml sur tous les nœuds : yarn.node-labels.fs-store.root-dir : '/apps/yarn/nodelabels'. Le problème se produit lorsque ces fichiers sont endommagés lorsque vous perdez tous les nœuds qui contiennent les blocs du fichier au cours d'une opération de redimensionnement. ResourceManager redémarre ensuite, reste bloqué dans une boucle de redémarrage, puis CommonNodeLabelsManager génère une exception. Pour trouver l'exception, recherchez « org.apache.hadoop.yarn .nodelabels.CommonNodeLabelsManager » dans /var/log/hadoop-yarn/yarn-resourcemanager-*.log.

Pour résoudre ce problème, supprimez les fichiers d'étiquette de nœud. Ensuite, redémarrez ResourceManager pour recréer les fichiers.

Solution

1.    Vérifiez l'état du système de fichiers et recherchez les blocs :

hdfs fsck /apps/yarn/nodelabels/ -locations -blocks -files

2.    Supprimez les fichiers :

hdfs dfs -rm -skipTrash /apps/yarn/nodelabels/*

3.    Redémarrez ResourceManager :

sudo stop hadoop-yarn-resourcemanager
sudo start hadoop-yarn-resourcemanager

4.    Lorsque ResourceManager redémarre, il recrée les fichiers d'étiquette de nœud. Cela résout la boucle de redémarrage. Cependant, vous ne pouvez pas encore soumettre d'applications YARN. Pour pouvoir le faire, ajoutez manuellement des entrées d'étiquette de nœud :

yarn rmadmin -addToClusterNodeLabels "CORE(exclusive=false)"

5.    Répertoriez les étiquettes pour vérifier que ResourceManager les a recréées :

yarn cluster --list-node-labels

Cet article vous a-t-il été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?