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
Une fois que vous avez trouvé l'exception, utilisez l'un des articles suivants pour résoudre la cause racine :