Come posso risolvere gli errori relativi all’errore del nodo primario con l'errore “502 Bad Gateway” o “504 Gateway Time-out” in Amazon EMR?

3 minuti di lettura
0

Il mio nodo primario Amazon EMR non funziona con un errore “502 Bad Gateway” o “504 Gateway Time-out”.

Breve descrizione

Un nodo primario EMR potrebbe fallire con uno dei seguenti errori:

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>??

oppure

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>??

Di seguito sono riportati i motivi più comuni di questi errori:

  • Il daemon del controller di istanza è nello stato di arresto o è inattivo nell'istanza del nodo primario.
  • Il nodo primario esaurisce la memoria o lo spazio su disco.
  • Le verifiche di stato dell’istanza Amazon Elastic Compute Cloud (Amazon EC2) falliscono.

Risoluzione

Risoluzione dei problemi relativi agli errori del daemon del controller di istanza del nodo primario

Il controller di istanza (I/C) del nodo primario è il daemon che comunica con il piano di controllo EMR e il resto del cluster. Se il controller di istanza non è in grado di comunicare con il piano di controllo EMR, il nodo primario viene classificato come non integro e il cluster viene terminato.

Per risolvere questo problema, analizza i log del controller di istanza per determinare il motivo del fallimento del processo. I log del controller di istanza si trovano in /emr/instance-controller/log/.

Se la protezione dalla terminazione è attivata, SSH accede al nodo primario e riavvia il processo del controller di istanza.

In Amazon EMR 5.30.0 e versioni di rilascio successive:

1.    1.Usa il seguente comando per verificare lo stato dell'I/C:

sudo systemctl status instance-controller.service

2.    2.Usa il seguente comando per riavviare l'I/C se lo stato è inattivo:

sudo systemctl start instance-controller.service

Nelle versioni di rilascio di Amazon EMR 4.x-2.x:

1.    Usa il seguente comando per verificare lo stato dell'I/C:

sudo /etc/init.d/instance-controller status

2.    2.Usa il seguente comando per riavviare l'I/C se lo stato è inattivo:

sudo /etc/init.d/instance-controller start

Analizza i file di log per risolvere i problemi relativi alla memoria e al disco

  1. Se la protezione dalla terminazione è attivata, usa SSH per connetterti al nodo primario. Quindi, esamina il file di log dello stato dell'istanza.
  2. Analizza le metriche dell’istanza, come la memoria e il disco, elencate nel log dello stato istantaneo. Puoi analizzare queste metriche usando comandi Linux come free -m e df -h.
  3. Utilizza i risultati del file di log per determinare il motivo per cui il nodo primario utilizza una quantità elevata di disco o memoria.

Risolvi gli errori relativi agli errori di verifica dello stato dell'istanza EC2 del nodo primario

Risolvi i problemi relativi ai nodi primari che hanno la protezione dalla terminazione disattivata e il cluster è già terminato


AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa