Por que meu cluster do EMR foi encerrado?
Meu cluster do Amazon EMR foi encerrado inesperadamente.
Resolução
Revisar os logs de provisionamento do Amazon EMR armazenados no Amazon S3
Os logs dos clusters do Amazon EMR são armazenados em um bucket do Amazon Simple Storage Service (Amazon S3) especificado na inicialização do cluster. Os logs são armazenados em s3://exemplo-local-log/node/exemplo-ID-cluster/exemplo-ID-instância-EC2/.
Observação: substitua exemplo-local-log, exemplo-ID-cluster e exemplo-instância-EC2 pela nomenclatura do seu sistema.
Esta é uma lista de tipos de erro comuns:
SHUTDOWN_STEP_FAILED (USER_ERROR)
NO_SLAVES_LEFT (SYSTEM_ERROR)
The master failed: Error occurred: <html>??<head><title>502 Bad Gateway</title></head>??<body>??<center><h1>502 Bad Gateway</h1></center>??<hr><center>nginx/1.16.1</center>??</body>??</html>??
KMS_ISSUE (USER_ERROR)Terminated with errors, The master node was terminated by user.
Observação: os erros de encerramento anteriores são os mais comuns. Os clusters do EMR podem ser encerrados devido a erros diferentes dos listados. Para obter mais informações, consulte Erros de recursos.
SHUTDOWN_STEP_FAILED (USER_ERROR) (ENCERRAMENTO_ETAPA_FALHOU [ERRO_USUÁRIO])
Quando você envia uma tarefa de etapa no cluster do EMR, pode especificar o comportamento de falha da etapa no parâmetro ActionOnFailure (AçãoEmFalha). O cluster do EMR será encerrado se você selecionar TERMINATE_CLUSTER (ENCERRAR_CLUSTER) ou TERMINATE_JOB_FLOW (ENCERRAR_FLUXO_TRABALHO) para o parâmetro ActionOnFailure (AçãoEmFalha). Para obter mais informações, consulte StepConfig (ConfigEtapa).
Veja a seguir um exemplo de mensagem de erro do AWS CloudTrail:
{ "severity": "ERROR", "actionOnFailure": "TERMINATE_JOB_FLOW", "stepId": "s-2I0GXXXXXXXX", "name": "Example Step", "clusterId": "j-2YJXXXXXXX", "state": "FAILED", "message": "Step s-2I0GXXXXXXXX (Example Step) in Amazon EMR cluster j-2YJXXXXXXX failed at 202X-1X-0X 0X:XX UTC." }
CONTINUE (CONTINUAR) ou CANCEL_AND_WAIT (CANCELAR_E_AGUARDAR) no parâmetro ActionOnFailure (AçãoEmFalha)
NO_SLAVES_LEFT (SYSTEM_ERROR) (NENHUM_SLAVE_RESTANTE) [ERRO_SISTEMA])
Esse erro ocorre quando:
- A proteção contra encerramento é desativada no cluster do EMR.
- Todos os nós centrais excedem a capacidade de armazenamento em disco, conforme especificado por um limite máximo de utilização na classificação de configuração do site do Yarn. O limite máximo de utilização padrão é 90%.
- A instância CENTRAL é uma instância spot e a instância spot é TERMINATED_BY_SPOT_DUE_TO_NO_CAPACITY (TERMINADA_POR_SPOT_DEVIDO_A_FALTA_CAPACIDADE).
Para obter informações sobre encerramento de instância spot, consulte Por que o Amazon EC2 encerrou minha instância spot?
Para obter mais informações sobre o erro NO_SLAVE_LEFT (NENHUM_SLAVE_RESTANTE), consulte Cluster encerrado com NO_SLAVE_LEFT (NENHUM_SLAVE_RESTANTE) e nós centrais FAILED_BY_MASTER (EM_FALHA_POR_MASTER).
Veja a seguir um exemplo de mensagem de erro do controlador de instâncias:
202X-0X-0X 1X:5X:5X,968 INFO Poller: InstanceJointStatusMap contains X entries (DD:5 R:3): i-0e336xxxxxxxxxxxx 25d21h R 25d21h ig-22 ip-1x-2xx-xx-1xx.local.xxx.com I: 52s Y:U 98s c: 0 am: 0 H:R 1.1%Yarn unhealthy Reason : 1/4 local-dirs usable space is below configured utilization percentage/no more usable space [ /mnt/yarn : used space above threshold of 90.0% ] ; 1/1 log-dirs usable space is below configured utilization percentage/no more usable space [ /var/log/hadoop-yarn/containers : used space above threshold of 90.0% ]
Para resolver esse erro:
- Mantenha a proteção contra encerramento ativada para os clusters. Para obter mais informações, consulte Proteção contra terminação e nós não íntegros do YARN.
- Use as políticas de escalação do Amazon EMR (escalação automática e escalação gerenciada) para escalar os nós centrais de acordo com suas necessidades. Para obter mais informações, consulte Escalar recursos de cluster.
- Adicione mais capacidade do Amazon Elastic Block Storage (Amazon EBS) ao cluster. Para obter mais informações, consulte Como posso resolver "Exit status: -100". Diagnostics: Container released on a *lost* node" (Status de saída: -100. Diagnóstico: contêiner liberado em um nó *perdido*) no Amazon EMR?
- Crie um alarme para a métrica MRUnhelthyNodes (NósNão ÍntegrosMR) do Amazon CloudWatch. Você pode configurar uma notificação para esse alarme para avisá-lo sobre nós não íntegros antes que o tempo limite de 45 minutos seja atingido. Para obter mais informações, consulte Criar um alarme do CloudWatch com base em um limite estático.
502 Bad Gateway (502 Gateway ruim)
O erro 502 Bad Gateway (502 Gateway ruim) ocorre quando os sistemas internos do Amazon EMR não conseguem alcançar o nó primário durante um período de tempo. O Amazon EMR será encerrado se a proteção contra encerramento estiver desativada. Verifique os logs do controlador de instâncias e os logs de estado da instância mais recentes quando o serviço controlador de instâncias estiver inativo. A saída padrão do controlador de instâncias mostra que o serviço foi encerrado porque não havia memória suficiente. Isso indica que o nó primário do cluster está com pouca memória.
Veja a seguir um exemplo de mensagem de erro do log de estado da instância:
# dump instance controller stdout tail -n 100 /emr/instance-controller/log/instance-controller.out OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00007fb46c7c8000, 12288, 0) failed; error='Cannot allocate memory' (errno=12) # # There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (mmap) failed to map 12288 bytes for committing reserved memory. # An error report file with more information is saved as: # /tmp/hs_err_pid16110.log # whats memory usage look like free -m total used free shared buff/cache available Mem: 15661 15346 147 0 167 69 Swap: 0 0 0
Para evitar o erro anterior, inicie um cluster do EMR com um tipo de instância maior para utilizar mais memória para atender aos requisitos do seu cluster. Além disso, limpe o espaço em disco para evitar falta de memória em clusters de longa execução. Para obter mais informações, consulte Como soluciono uma falha do nó primário com o erro “502 Bad Gateway” (502 gateway ruim) ou “504 Gateway Time-out” (504 tempo limite do gateway esgotado) no Amazon EMR?
KMS_ISSUE (USER_ERROR) (PROBLEMA_KMS [ERRO-USUÁRIO])
Quando você usa uma configuração de segurança do Amazon EMR para criptografar um dispositivo raiz e os volumes de armazenamento do Amazon EBS, o perfil deve ter as permissões adequadas. Se as permissões necessárias estiverem faltando, você receberá o erro KMS_ISSUE (PROBLEMA_KMS).
Veja a seguir um exemplo de mensagem de erro do AWS CloudTrail:
The EMR Service Role must have the kms:GenerateDataKey* and kms:ReEncrypt* permission for the KMS key configuration when you enabled EBS encryption by default. You can retrieve that KMS key's ID by using the ec2:GetEbsDefaultKmsKeyId API.
Para evitar o erro anterior, certifique-se de que as configurações de segurança usadas para criptografar o dispositivo raiz e os volumes de armazenamento do Amazon EBS tenham as permissões necessárias. Para essas configurações, certifique-se de que o perfil de serviço do Amazon EMR (EMR_DefaultRole_V2) tenha permissões para usar a chave especificada do AWS Key Management Service (AWS KMS).
Encerrado com erros, o nó principal foi encerrado pelo usuário
Quando o nó primário do cluster do EMR é interrompido por qualquer motivo, o cluster termina com o erro The master node was terminated by user (O nó principal foi encerrado pelo usuário).
Veja a seguir um exemplo de mensagem de erro do AWS CloudTrail:
eventTime": "2023-01-18T08:07:02Z", "eventSource": "ec2.amazonaws.com", "eventName": "StopInstances", "awsRegion": "us-east-1", "sourceIPAddress": "52.xx.xx.xx", "userAgent": "AWS Internal", "requestParameters": { "instancesSet": { "items": [ { "instanceId": "i-xxf6c5xxxxxxxxxxx" } ] }, "force": false },
Como a interrupção dos nós primários ou de todos os nós centrais do EMR leva ao encerramento do cluster, evite parar ou reinicializar os nós do cluster.

Conteúdo relevante
- AWS OFICIALAtualizada há 2 meses
- AWS OFICIALAtualizada há 4 meses
- AWS OFICIALAtualizada há 3 meses