Quero solucionar falhas de estágio nas aplicações Apache Spark no Amazon EMR.
Breve descrição
No Spark, falhas de estágio acontecem quando há um problema com o processamento de uma tarefa do Spark. Essas falhas podem ser causadas por problemas de hardware, configurações incorretas do Spark ou problemas de código. Quando ocorre uma falha de estágio, os logs do driver do Spark relatam uma exceção semelhante à seguinte:
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: ...
Resolução
Encontre o código do motivo
Para trabalhos do Spark enviados com o cliente --deploy-mode, o código do motivo está na exceção exibida no terminal.
Para trabalhos do Spark enviados com o cluster --deploy-mode, execute o comando a seguir no nó principal para encontrar falhas de estágio nos logs do aplicativo YARN. Substitua o application\ _id pelo ID de sua aplicação Spark (por exemplo, application_1572839353552_0008).
yarn logs -applicationId application_id | grep "Job aborted due to stage failure" -A 10
Você também pode obter essas informações do YARN ResourceManager no contêiner mestre da aplicação.
Resolva a causa raiz
Depois de encontrar a exceção, use um dos artigos a seguir para resolver a causa raiz: