Warum skaliert mein EMR-Cluster nicht, obwohl ich die verwaltete Skalierung aktiviert habe oder die Metriken zur Größenänderung erfüllt sind?
Ich habe die Skalierung aktiviert oder die Metriken zur Größenänderung sind erfüllt, aber mein EMR-Cluster skaliert nicht.
Lösung
Die in den Amazon-CloudWatch-Metriken für die Skalierung festgelegten Schwellenwerte werden nicht erreicht
Die automatische Skalierung hängt von den Amazon-CloudWatch-Metriken ab. Wenn die entsprechenden Metrik-Schwellenwerte für das Hoch- oder Herunterskalieren nicht erreicht werden, erfolgt keine Skalierung.
Überprüfe die Amazon-EMR-Metriken in Amazon CloudWatch, um sicherzustellen, dass die in den Skalierungsregeln festgelegten Metriken, wie z. B. ContainerPendingRatio und YARNMemoryAvailablePercentage, gefüllt sind.
Amazon-EMR-Metriken werden in CloudWatch aus einem der folgenden Gründe möglicherweise nicht wie erwartet gefüllt:
- Die Datei /etc/hadoop/conf/hadoop-metrics2.properties existiert nicht oder sie ist beschädigt. Beispielsweise könnte eine benutzerdefinierte Bootstrap-Aktion die Datei überschrieben haben.
- Möglicherweise gibt es Probleme mit metrikbezogenen Komponenten wie Hadoop oder YARN. Überprüfe die entsprechenden Anwendungsprotokolle, um nach Fehlern zu suchen.
- Der MetricsCollector-Daemon wird möglicherweise nicht ausgeführt. Führe bei verwalteter Skalierung den folgenden Befehl auf dem Primärknoten aus, um zu überprüfen, ob der MetricsCollector-Daemon ausgeführt wird:
sudo systemctl status MetricsCollector
Du verwendest Anwendungen, die nicht auf Yarn basieren
Anwendungen wie Presto, die nicht auf YARN basieren, verwenden Skalierungsmethoden, die auf von YARN generierten Metriken basieren. Cluster skalieren also nicht, selbst wenn die Presto-Abfrageauslastung hoch ist. Wenn du Anwendungen verwendest, die nicht auf YARN basieren, verwende die manuelle Skalierung. Beispielsweise kannst du die Amazon-EMR-API zur Größenänderung so einrichten, dass benutzerdefinierte Presto-Metriken verwendet werden.
Die Core- oder Aufgaben-Instance-Gruppen befinden sich in einem ausgesetzten oder angehaltenen Zustand
Core- oder Aufgaben-Instance-Gruppen im ausgesetzten oder angehaltenen Zustand bleiben hängen, wenn sie ihre Größe ändern oder skalieren. Weitere Informationen findest du unter Ausgesetzter Zustand.
Neukonfigurationen können dazu führen, dass Instance-Gruppen in den angehaltenen Zustand übergehen. Weitere Informationen findest du unter Problembehandlung bei der Neukonfiguration von Instance-Gruppen.
In Amazon EMR gibt es HDFS-Anwendungsprobleme, die zu Problemen führen, wenn du Core-Knoten skalierst
Wenn die beiden folgenden Bedingungen zutreffen, empfiehlt es sich, die Core-Knoten unverändert zu lassen:
- Du speicherst Daten in Amazon Simple Storage Service (Amazon S3)-Buckets.
- Die Nutzung des Hadoop Distributed File Systems (HDFS) ist auf einem Minimum.
Hinweis: Es hat sich bewährt, Aufgabenknoten nur zu skalieren, um HDFS-Probleme zu vermeiden.
Das Skalieren von Core-Knoten dauert länger als das Skalieren von Aufgabenknoten. Dies liegt daran, dass die Core-Knoten über einen zusätzlichen Service (Datanode) verfügen, der zum Speichern der HDFS-Daten verwendet wird. Die Außerbetriebnahme von HDFS-Daten nimmt Zeit in Anspruch. Wenn dein Anwendungsfall eine Skalierung des Core-Knotens erfordert und die Skalierung nicht funktioniert, liegt möglicherweise ein Problem mit der Außerbetriebnahme von HDFS vor.
Gehe wie folgt vor, um Probleme bei der Skalierung zu beheben, die aufgrund der Außerbetriebnahme von HDFS nicht mehr funktioniert:
- Überprüfe den Zustand der HDFS-Services (Namenode und Datanode).
- Führe den Befehl hdfs dfsadmin -report aus, um zu überprüfen, ob Blöcke fehlen, beschädigt sind oder nicht ausreichend repliziert wurden.
- Prüfe, ob es Core-Knoten gibt, die aufgrund von Festplatten-, Speicher- oder CPU-Problemen fehlerhaft sind.
- Prüfe, ob du den HDFS-Replikationsfaktor auf einen hohen Wert wie 3 oder 2 gesetzt hast. Wenn du versuchst, den Core-Knoten auf 1 herunterzuskalieren, wenn der Replikationsfaktor auf 3 oder 2 gesetzt ist, bleibt der Skalierungsvorgang hängen. Dies liegt daran, dass Amazon EMR die Mindestanzahl an Replikaten aufrechterhalten muss.
Die angeforderte Kapazität ist in Amazon EMR nicht verfügbar
Wenn die angeforderte Amazon Elastic Compute Cloud (Amazon EC2)-Kapazität in Amazon EMR nicht verfügbar ist, schlägt die Skalierung nach Ablauf des Timeouts fehl. Wenn die Skalierung länger als 2 bis 3 Stunden hängen bleibt und du bei AWS-CloudTrail-Ereignissen Fehler wegen unzureichender Kapazität erhältst, führe eine manuelle Größenänderung durch.
Ähnliche Informationen
Manuelles Ändern der Größe eines laufenden Amazon-EMR-Clusters
Verwendung der verwalteten Skalierung in Amazon EMR
Die 9 wichtigsten Tipps zur Leistungsoptimierung für PrestoDB in Amazon EMR
- Themen
- Analytics
- Tags
- Amazon EMR
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 3 Jahren
AWS OFFICIALAktualisiert vor 2 Jahren