Por que uma etapa do Amazon EMR está sendo executada mesmo que minha inscrição no YARN tenha sido concluída?

3 minuto de leitura
0

Uma etapa do Amazon EMR ainda está em execução, mesmo que a respectiva aplicação Apache Spark ou YARN tenha sido concluída.

Resolução

Use um dos seguintes métodos para resolver o problema:

  • Valide o status da respectiva aplicação YARN e, em seguida, finalize a etapa.
  • Cancele o ID da etapa manualmente usando a AWS Command Line Interface (AWS CLI).

Validar o status da aplicação YARN e finalizar a etapa

1.    Identifique o applicationId YARN a partir do arquivo stderr dos logs de etapas. Para obter mais informações, consulte Como soluciono uma etapa que falhou no Amazon EMR?

2.    Connect to the primary node using SSH (Conectar-se ao nó primário usando SSH).

3.    Use o comando YARN a seguir para encontrar o estado da aplicação YARN. No comando de exemplo a seguir, substitua application_id pelo ID da aplicação. Um exemplo de ID aplicação é application_1234567891011_001.

yarn application -status application_id

Ou use o seguinte comando YARN para listar todas as aplicações:

yarn application -list -appStates ALL

4.    Verifique o estado da aplicação na saída do comando anterior.

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

Veja a seguir um exemplo de saída de uma aplicação que foi concluída com êxito:

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

Se a saída do comando anterior tiver os estados FINISHED, FAILED ou KILLED, a aplicação YARN será concluída.

Se o status da aplicação for NEW, NEW_SAVING, SUBMITTED, ACCEPTED ou RUNNING, a aplicação YARN ainda estará em execução. Aguarde a conclusão da inscrição ou encerre a aplicação para cancelar a etapa.

7.    Execute o comando a seguir para finalizar a aplicação. No comando de exemplo a seguir, substitua application_id pelo ID da aplicação. Um exemplo de ID aplicação é application_1234567891011_001.

yarn application -kill application_id

8.    Verifique o status da etapa do Amazon EMR novamente depois de encerrar a aplicação.

Cancelar a etapa do Amazon EMR manualmente usando a AWS CLI

Observação: se receber erros ao executar comandos da AWS CLI, verifique se está usando a versão mais recente da AWS CLI.

1.    Use o comando describe-step para ver o status da etapa. No comando a seguir, substitua cluster-id e step-id pelos valores corretos para seu caso de uso.

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

2.    Use o comando cancel-steps para cancelar a etapa. No comando a seguir, substitua cluster-id e step-id pelos valores corretos para seu caso de uso.

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

Para obter mais informações, consulte Canceling steps (Cancelar etapas).


AWS OFICIAL
AWS OFICIALAtualizada há um ano