¿Por qué se ejecuta un paso de Amazon EMR aunque haya completado mi aplicación en YARN?

3 minutos de lectura
0

Un paso de Amazon EMR sigue en estado EN EJECUCIÓN aunque se haya completado la aplicación correspondiente de Apache Spark o YARN.

Resolución

Utilice uno de los métodos siguientes para solucionar este problema.

Valide el estado de la aplicación YARN y, a continuación, finalice el paso.

Siga estos pasos:

  1. Identifique el valor applicationId de YARN en el archivo stderr de los registros de pasos.

  2. Conéctese al nodo principal mediante SSH.

  3. Use el siguiente comando de YARN para buscar el estado de la aplicación YARN. En el siguiente comando de ejemplo, sustituya application_id por el ID de la aplicación. Un ejemplo de ID de aplicación es application_1234567891011_001.

    yarn application -status application_id

    Alternativa:

    Utilice el siguiente comando de 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.
    Si la salida del comando anterior tiene los estados FINALIZADO, ERROR o CANCELADO, es que la aplicación YARN se ha completado.
    Si el estado de la aplicación es NUEVA, NUEVA_GUARDANDO, ENVIADA, ACEPTADA o EN EJECUCIÓN, entonces la aplicación YARN seguirá ejecutándose. Espere a que la aplicación se complete o finalice el proceso para cancelar el paso.
    A continuación se muestra un ejemplo del resultado de una aplicación que se completó correctamente:

    Progress : 100%
    State : FINISHED
    Final-State : SUCCEEDED
  5. Ejecute el siguiente comando para finalizar la aplicación. Sustituya application_id por su ID de aplicación. Un ejemplo de ID de aplicación es application_1234567891011_001.

    yarn application -kill application_id
  6. Vuelva a comprobar el estado del paso de Amazon EMR tras finalizar la aplicación.

Cancele el paso de Amazon EMR manualmente mediante la interfaz de línea de comandos de AWS (AWS CLI)

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulte Troubleshoot AWS CLI errors. Además, asegúrese de utilizar la versión más reciente de la AWS CLI.

Siga estos pasos:

  1. Utilice el comando describe-step para ver el estado del paso. En el siguiente comando, reemplace cluster-id y step-id con los valores correctos para el 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, reemplace cluster-id y step-id con los valores correctos para el 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 los pasos al enviar un trabajo a un clúster de Amazon EMR.

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 4 meses