¿Cómo puedo solucionar los errores de fase de los trabajos de Spark en Amazon EMR?

2 minutos de lectura
0

Deseo solucionar errores de fase en aplicaciones Apache Spark en Amazon EMR.

Descripción corta

Es posible que recibas errores de fase cuando una tarea de Spark experimenta un problema. Los errores de fase se deben a problemas de hardware, configuraciones incorrectas de Spark o problemas de código. Cuando se produce un error de fase, los registros del controlador de Spark informan de una excepción similar a la siguiente:

«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: (example-reason)»

Resolución

Identifica el código de motivo de los trabajos de Spark que envías con el cliente --deploy-mode

El código de motivo se encuentra en la excepción que se muestra en el terminal.

Si envías el trabajo desde Amazon EMR Steps, el código de motivo se encuentra en el archivo stderr de la consola de Amazon EMR. También puedes obtener los registros stderr de los pasos en la ubicación de Amazon Simple Storage Service (Amazon S3) que especificaste para almacenar los registros del clúster. Por ejemplo, puedes usar la ruta de archivo s3://bucket-registro-ejemplo/id-clúster-ejemplo/steps/id-paso-ejemplo/ para buscar los registros.

Para identificar los errores de fase en los registros de la aplicación YARN, usa el siguiente comando en el nodo principal:

yarn logs -applicationId example-application-id | grep "Job aborted due to stage failure" -A 10

Nota: Sustituye example-application-id por el ID de tu aplicación de Spark.

Puedes obtener la aplicación YARN desde la ubicación de Amazon S3 que especificaste para almacenar los registros del clúster. Por ejemplo, puedes usar la ruta de archivo s3://bucket-registro-ejemplo/id-clúster-ejemplo/contenedores/id-aplicación-ejemplo/. También puedes obtener los registros de la aplicación YARN desde el YARN ResourceManager en el contenedor principal de la aplicación.

Solución de la causa raíz

Tras identificar la excepción, utiliza uno de los siguientes artículos del Centro de conocimientos de AWS para resolver el problema:

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 6 meses