Direkt zum Inhalt

Wie behebe ich den Ausfall des Primärknotens mit dem Fehler „502 Bad Gateway“ oder „504 Gateway Time-out“ in Amazon EMR?

Lesedauer: 3 Minute
0

Mein Amazon-EMR-Primärknoten schlägt mit dem Fehler „502 Bad Gateway“ oder „504 Gateway Time-out“ fehl.

Kurzbeschreibung

Ein Amazon-EMR-Primärknoten schlägt möglicherweise mit einem der folgenden Fehler fehl:

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

-oder-

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

Diese Fehler können aus einem der folgenden Gründe auftreten:

  • Der Instance-Controller-Daemon befindet sich auf der Primärknoten-Instance im gestoppten Zustand oder ist ausgefallen.
  • Der Primärknoten hat nicht genügend Arbeitsspeicher oder Speicherplatz.
  • Die Statusüberprüfungen der Amazon Elastic Compute Cloud (Amazon EC2)-Instance schlagen fehl.

Lösung

Problembehandlung bei Ausfällen des Instance-Controller-Daemons auf dem Primärknoten

Der Instance-Controller auf dem Primärknoten kommuniziert mit der Amazon-EMR-Steuerebene und dem Rest des Clusters. Wenn der Instance-Controller nicht mit der Amazon-EMR-Steuerebene kommunizieren kann, stuft Amazon EMR den Primärknoten als fehlerhaft ein. Wenn der Beendigungsschutz aktiviert ist, verwende SSH, um eine Verbindung zum Primärknoten herzustellen, und starte dann den Instance-Controller-Prozess neu.

Amazon EMR Version 5.30.0 und höher:

  1. Führe den folgenden Befehl aus, um den Status des Instance-Controllers zu überprüfen:

    sudo systemctl status instance-controller.service
  2. Wenn der Instance-Controller nicht aktiv ist, führe den folgenden Befehl aus, um den Instance-Controller neu zu starten:

    sudo systemctl start instance-controller.service

Amazon EMR Version 2 bis 4:

  1. Führe den folgenden Befehl aus, um den Status des Instance-Controllers zu überprüfen:

    sudo /etc/init.d/instance-controller status
  2. Wenn der Instance-Controller nicht aktiv ist, führe den folgenden Befehl aus, um den Instance-Controller neu zu starten:

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

Beheben von Speicher- und Festplattenproblemen

Gehe wie folgt vor:

  1. Wenn der Beendigungsschutz aktiviert ist, verwende SSH, um eine Verbindung zum Primärknoten herzustellen.
  2. Überprüfe die instance-state-Protokolldatei.
  3. Analysiere die Instance-Metriken wie Arbeitsspeicher und Festplatte, die im instant-state-Protokoll aufgeführt sind. Du kannst Linux-Befehle wie free -m und df -h verwenden, um diese Metriken zu analysieren.
  4. Ermittle anhand der Ergebnisse der Protokolldatei, warum der Primärknoten viel Festplattenspeicherplatz oder Arbeitsspeicher verwendet.

Problembehandlung bei Fehlern bei der EC2-Instance-Statusüberprüfung auf dem Primärknoten

Überprüfe die Metriken zur Statusüberprüfung der Instance, um festzustellen, ob die Statusüberprüfung der primären Instance fehlschlägt. Wenn die Instance-Statusüberprüfung fehlschlägt, behebe den Fehler bei der Instance-Statusüberprüfung.

Hinweis: Wenn du die EC2-Instance startest und anhältst, stoppt der Amazon-EMR-Cluster.

Problembehandlung bei Primärknoten, bei denen der Beendigungsschutz deaktiviert ist und der Cluster bereits beendet ist

Ergreife die folgenden Maßnahmen:

AWS OFFICIALAktualisiert vor 7 Monaten