Meu nó primário do Amazon EMR apresenta falha com um erro "502 Bad Gateway" ou "504 Gateway Time-out".
Breve descrição
Um nó primário do Amazon EMR pode falhar com um dos seguintes erros:
"The master failed: Error occurred:<html>?? <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-16"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><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><meta http-equiv="Content-Type" content="text/html; charset=UTF-16"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><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>??"
Você pode receber esses erros pelos seguintes motivos:
- O daemon do controlador da instância está no estado interrompido ou está inativo na instância do nó primário.
- O nó primário está sem memória ou espaço em disco.
- As verificações de status da instância do Amazon Elastic Compute Cloud (Amazon EC2) apresentam falhas.
Resolução
Solucione falhas do daemon do controlador da instância do nó primário
O controlador da instância no nó primário se comunica com o ambiente de gerenciamento do Amazon EMR e com o resto do cluster. Se o controlador da instância não conseguir se comunicar com o ambiente de gerenciamento do Amazon EMR, ele classifica o nó primário como não íntegro. Se a proteção contra encerramento estiver ativada, use o SSH para se conectar ao nó primário e reinicie o processo do controlador da instância.
Amazon EMR versão 5.30.0 e posterior:
-
Para verificar o status do controlador da instância, execute o seguinte comando:
sudo systemctl status instance-controller.service
-
Se o status do controlador da instância for inativo, execute o seguinte comando para reiniciá-lo:
sudo systemctl start instance-controller.service
Amazon EMR versões 2 a 4:
-
Para verificar o status do controlador da instância, execute o seguinte comando:
sudo /etc/init.d/instance-controller status
-
Se o status do controlador da instância for inativo, execute o seguinte comando para reiniciá-lo:
sudo /etc/init.d/instance-controller start
Solucione problemas de memória e disco
Conclua as etapas a seguir:
- Se a proteção contra encerramento estiver ativada, use o SSH para se conectar ao nó primário.
- Analise o arquivo de log do estado da instância.
- Analise as métricas da instância, como memória e disco, listadas no log do estado da instância. É possível usar comandos do Linux, como free -m e df -h, para analisar essas métricas.
- Use os resultados do arquivo de log para descobrir por que o nó primário usa uma grande quantidade de disco ou memória.
Solucione falhas na verificação do status da instância do EC2 do nó primário
Analise as métricas de verificação do status da instância para descobrir se a verificação do status da instância primária está apresentando falhas. Se a verificação do status da instância falhar, solucione a falha na verificação do status da instância.
Observação: quando você inicia e interrompe sua instância do EC2, seu cluster do Amazon EMR é interrompido.
Solucione problemas de nós primários que têm a proteção de encerramento desativada e o cluster já está encerrado
Realize as seguintes ações: