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

Lecture de 2 minute(s)
0

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 :


AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans