¿Por qué se ejecuta un paso de Amazon EMR a pesar de haber completado mi aplicación en YARN?

3 minutos de lectura
0

Un paso de Amazon EMR sigue en el estado RUNNING (EN EJECUCIÓN) aunque ya se completó la aplicación Apache Spark o YARN correspondiente.

Resolución

Utilice uno de los métodos siguientes para resolver el problema:

  • Valide el estado de la aplicación YARN correspondiente y luego finalice el paso.
  • Cancele el ID del paso de forma manual mediante la interfaz de la línea de comandos de AWS (AWS CLI).

Validar el estado de la aplicación YARN y luego finalizar el paso

1.    Identifique el applicationId de YARN en el archivo stderr de los registros de pasos. Para obtener más información, consulte ¿Cómo soluciono un paso fallido en Amazon EMR?

2.    Conéctese al nodo principal mediante SSH.

3.    Utilice el siguiente comando YARN para encontrar el estado de la aplicación YARN. En el siguiente comando de ejemplo, reemplace application_id con su ID de aplicación. Un ID de aplicación de ejemplo es application_1234567891011_001.

yarn application -status application_id

O bien, utilice el siguiente comando YARN para enumerar todas las aplicaciones:

yarn application -list -appStates ALL

4.    Compruebe el resultado del comando anterior para ver el estado de la aplicación.

Application-States: [NEW, NEW_SAVING, SUBMITTED, ACCEPTED, RUNNING, FINISHED, FAILED, KILLED]

El siguiente es un ejemplo del resultado de una aplicación que se completó correctamente:

Progress : 100%
State : FINISHED
Final-State : SUCCEEDED

Si el resultado del comando anterior tiene los estados FINISHED (FINALIZADO), FAILED (FALLIDO) o KILLED (ELIMINADO), entonces se completó la aplicación YARN.

Si el estado de la aplicación es NEW (NUEVO), NEW_SAVING (GUARDADO RECIENTEMENTE), SUBMITTED (ENVIADO), ACCEPTED (ACEPTADO) o RUNNING (EN EJECUCIÓN), la aplicación YARN sigue en ejecución. Espere a que se complete o finalice la aplicación para cancelar el paso.

7.    Ejecute el siguiente comando para finalizar la aplicación. En el siguiente comando de ejemplo, reemplace application_id con su ID de aplicación. Un ID de aplicación de ejemplo es application_1234567891011_001.

yarn application -kill application_id

8.    Vuelva a comprobar el estado del paso de Amazon EMR después de finalizar la aplicación.

Cancelar el paso de Amazon EMR de forma manual mediante la AWS CLI

Nota: Si recibe errores mientras ejecuta los comandos de la AWS CLI, asegúrese de que está utilizando la versión más reciente de dicha interfaz.

1.    Utilice el comando describe-step para ver el estado del paso. En el siguiente comando, sustituya cluster-id y step-id por los valores correctos para su caso de uso.

aws emr describe-step --cluster-id j-xxxxxxxxxxxxx --step-ids s-xxxxxxxx

2.    Utilice el comando cancel-steps para cancelar el paso. En el siguiente comando, sustituya cluster-id y step-id por los valores correctos para su caso de uso.

aws emr cancel-steps --cluster-id j-xxxxxxxxxxxxx \
--step-ids s-3M8DXXXXXXXXX \
--step-cancellation-option SEND_INTERRUPT

Para obtener más información, consulte Cancelación de pasos.


OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año