Comment résoudre les échecs d’étapes dans des tâches Spark sur Amazon EMR ?

Dernière mise à jour : 31-01-2022

Je souhaite résoudre les échecs d’étapes dans des applications Apache Spark sur Amazon EMR.

Brève description

Dans Spark, les échecs d’étapes se produisent lorsqu'il y a un problème dans le traitement d'une tâche Spark. Ces échecs peuvent être provoqués par des problèmes matériels, des configurations Spark incorrectes ou des problèmes de code. Lorsqu'un échec d’étapes arrive, les journaux du pilote Spark signalent une exception similaire à celle-ci :

org.apache.spark.SparkException: Job aborted due to stage failure: Task XXX in stage YYY failed 4 times, most recent failure: Lost task XXX in stage YYY (TID ZZZ, ip-xxx-xx-x-xxx.compute.internal, executor NNN): ExecutorLostFailure (executor NNN exited caused by one of the running tasks) Reason: ...

Résolution

Rechercher le code du motif

Pour les tâches Spark soumises avec --deploy-mode client, le code du motif se trouve dans l'exception qui s'affiche dans le terminal.

Pour les tâches Spark soumises avec --deploy-mode cluster, exécutez la commande suivante sur le nœud principal pour rechercher les échecs d’étapes dans les journaux de l'application YARN. Remplacez application_id par l'ID de votre application Spark (par exemple, application_1572839353552_0008).

yarn logs -applicationId application_id | grep  "Job aborted due to stage failure" -A 10

Vous pouvez également obtenir ces informations à partir de YARN ResourceManager dans le conteneur principal de l'application.

Résoudre la cause racine


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


Besoin d'aide pour une question technique ou de facturation ?