Ma tâche Amazon EMR échoue avec l'erreur « Container released on a lost node ».
Brève description
Lorsqu'Amazon EMR résilie un nœud principal ou un nœud de tâche en raison d'une utilisation élevée de l'espace disque, le message d'erreur suivant peut s'afficher :
« ExecutorLostFailure (executor 12 exited caused by one of the running tasks) Reason: Container marked as failed: container_1572839353552_0008_01_000002 on host: ip-##-###-##-## Exit status: -100. Diagnostics: Container released on a lost node »
L'erreur précédente peut également s'afficher lorsqu'un nœud ne répond plus en raison d'une utilisation de processeur élevée prolongée ou d'une faible quantité de mémoire disponible.
La résolution suivante indique comment résoudre l'erreur qui s'affiche lorsque vous manquez d'espace disque et que votre métrique Nœuds non sains de MR indique des nœuds non sains.
Résolution
Lorsque l'utilisation d'un disque principal ou d'un nœud de tâche, par exemple /mnt ou /mnt1 dépasse 90 %, le disque devient non sain. Si moins de 25 % des disques d'un nœud sont sains, YARN ResourceManager met gracieusement hors service le nœud. Pour résoudre ce problème, ajoutez de la capacité Amazon Elastic Block Store (Amazon EBS) au cluster EMR.
Déterminer la cause racine
Pour déterminer la cause de l'erreur, vérifiez les métriques Nœuds non sains de MR et Nœuds perdus de MR d’Amazon CloudWatch pour le cluster EMR.
Si la métrique Nœuds non sains de MR indique un nœud non sain, cela signifie qu’un espace disque insuffisant est à l'origine du problème.
Si la métrique Nœuds perdus de MR affiche un nœud perdu, cela signifie qu'une panne matérielle a provoqué la perte du nœud. Ou bien Amazon EMR ne peut pas atteindre le nœud en raison d'une utilisation élevée du processeur ou de la mémoire.
Augmenter la capacité Amazon EBS pour les nouveaux clusters
Pour augmenter la capacité Amazon EBS lorsque vous lancez un cluster Amazon EMR, choisissez un type d'instance Amazon Elastic Compute Cloud (Amazon EC2) plus volumineux. Pour plus d'informations, consultez la section Stockage EBS par défaut pour les instances. Vous pouvez également modifier la taille du volume ou en ajouter d'autres lorsque vous créez le cluster.
Ajouter des nœuds principaux ou de tâches supplémentaires pour les clusters nouveaux ou en cours d'exécution
Choisissez un nombre plus important de nœuds principaux ou de nœuds de tâches lorsque vous lancez un nouveau cluster. Vous pouvez également ajouter d'autres nœuds principaux ou de tâches à un cluster en cours d'exécution.
Ajouter des volumes Amazon EBS supplémentaires à des clusters en cours d’exécution
Si des volumes Amazon EBS plus importants ne résolvent pas le problème, associez d'autres volumes Amazon EBS à un cluster en cours d'exécution.
Procédez comme suit :
-
Associez davantage de volumes Amazon EBS aux nœuds principaux et de tâches.
-
Formatez et montez les volumes attachés. Assurez-vous d'utiliser le numéro de disque approprié. Par exemple, /mnt1 ou /mnt2 plutôt que /data.
-
Utilisez le protocole SSH pour vous connecter au nœud.
-
Ajoutez le chemin /mnt1/yarn dans la propriété yarn.nodemanager.local-dirs de /etc/hadoop/conf/yarn-site.xml.
Exemple :
<property> <name>yarn.nodemanager.local-dirs</name>
<value>/mnt/yarn,/mnt1/yarn</value>
</property>
-
Redémarrez le service NodeManager :
sudo stop hadoop-yarn-nodemanager
sudo start hadoop-yarn-nodemanager
-
Activez la protection contre la résiliation.
Si vous rencontrez toujours des problèmes d'espace disque, procédez comme suit :
- Supprimez les fichiers inutiles.
- Augmentez le seuil d'utilisation du disque de 90 % à 99 %. Pour ce faire, modifiez la propriété yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage dans le fichier yarn-default.xml sur tous les nœuds. Puis, redémarrez le service hadoop-yarn-nodemanager.
Informations connexes
Le cluster Amazon EMR est résilié avec NO_SLAVE_LEFT et les nœuds principaux FAILED_BY_MASTER
Pourquoi le nœud principal de mon cluster Amazon EMR manque-t-il d'espace disque ?