Wie behebe ich den Ausfall des Primärknotens mit dem Fehler „502 Bad Gateway“ oder „504 Gateway Time-out“ in Amazon EMR?
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:
-
Führe den folgenden Befehl aus, um den Status des Instance-Controllers zu überprüfen:
sudo systemctl status instance-controller.service -
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:
-
Führe den folgenden Befehl aus, um den Status des Instance-Controllers zu überprüfen:
sudo /etc/init.d/instance-controller status -
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:
- Wenn der Beendigungsschutz aktiviert ist, verwende SSH, um eine Verbindung zum Primärknoten herzustellen.
- Überprüfe die instance-state-Protokolldatei.
- 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.
- 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:
- Aktiviere den Beendigungsschutz, wenn du einen neuen Amazon-EMR-Cluster startest.
- Wechsle zu einem größeren Instance-Typ.
- Amazon-CloudWatch-Alarme für die Speicher- und Festplattennutzung des Amazon-EMR-Primärknotens aktivieren
- Themen
- Analytics
- Tags
- Amazon EMR
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 9 Monaten