Como soluciono uma falha do nó primário com o erro “502 Bad Gateway” (502 gateway incorreto) ou “504 Gateway Time-out” (504 tempo limite do gateway) no Amazon EMR?
Meu nó primário do Amazon EMR está apresentando falha com um erro “502 Bad Gateway” (502 gateway incorreto) ou “504 Gateway Time-out” (504 tempo limite do gateway).
Breve descrição
Um nó primário do EMR pode apresentar falha com um dos seguintes erros:
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.20.0</center>?? </body>?? </html>??
-ou-
The master failed: Error occurred: <html>??<head><title>504 Gateway Time-out</title></head>??<body>??<center><h1>504 Gateway Time-out</h1></center>??<hr><center>nginx/1.16.1</center>??</body>??</html>??
Veja a seguir os motivos comuns para esses erros:
- O daemon do controlador de instância está no estado interrompido ou está inativo na instância do nó primário.
- O nó primário fica sem memória ou espaço em disco.
- As verificações de status da instância do Amazon Elastic Compute Cloud (Amazon EC2) apresentam falha.
Resolução
Solucionar falhas de daemon do controlador de instância do nó primário
O controlador da instância (I/C) do nó primário é o daemon que se comunica com o ambiente de gerenciamento do EMR e com o resto do cluster. Se o controlador da instância não conseguir se comunicar com o ambiente de gerenciamento do EMR, o nó primário será classificado como não íntegro e o cluster será encerrado.
Para resolver isso, analise os logs do controlador da instância para determinar por que o processo falhou. Os logs do controlador da instância estão localizados em /emr/instance-controller/log/.
Se a proteção de encerramento estiver ativada, conecte o SSH ao nó primário e reinicie o processo do controlador da instância.
No Amazon EMR 5.30.0 e versões de lançamento posteriores:
1. Use o seguinte comando para verificar o status do I/C:
sudo systemctl status instance-controller.service
2. Use o seguinte comando para reiniciar o I/C se o status estiver inativo:
sudo systemctl start instance-controller.service
Nas versões de lançamento do Amazon EMR 4.x-2.x:
1. Use o seguinte comando para verificar o status do I/C:
sudo /etc/init.d/instance-controller status
2. Use o seguinte comando para reiniciar o I/C se o status estiver inativo:
sudo /etc/init.d/instance-controller start
Analise arquivos de log para solucionar problemas de memória e disco
- Se a proteção de terminação estiver ativada, use o SSH para se conectar ao nó primário. Em seguida, revise o arquivo de log do estado da instância.
- Analise as métricas da instância, como memória e disco, listadas no log de estado instantâneo. Você pode analisar essas métricas usando comandos do Linux, como free -m e df -h.
- Use os resultados do arquivo de log para determinar por que o nó primário está usando um grande volume de disco ou memória.
Solucionar falhas na verificação de status da instância do EC2 do nó primário
- Determine se a verificação de status da instância primária apresentou falha visualizando as métricas de verificação de status da instância.
- Solucione a falha na verificação do status da instância. Saiba que iniciar e interromper uma instância do EC2 resulta no encerramento do cluster do EMR.
Solucione problemas de nós primários que têm a proteção de encerramento desativada e o cluster já está encerrado
- Ative a proteção de encerramento ao iniciar um novo cluster do EMR.
- Mude para um tipo maior de instância. Para obter mais informações, consulte Supported instance types in Amazon EMR (Tipos de instâncias compatíveis no Amazon EMR).
- Ative os alarmes do Amazon CloudWatch para uso da memória do nó primário e do disco do EMR
Conteúdo relevante
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há 3 anos
- AWS OFICIALAtualizada há 2 anos