Warum ist die Skalierung meines EMR-Clusters nicht aktiviert, obwohl ich die verwaltete Skalierung aktiviert habe oder die Metriken für die Größenänderung erfüllt wurden?

Lesedauer: 4 Minute
0

Ich habe die Skalierung aktiviert oder die Metriken für die Größenänderung wurden in meinem Amazon-EMR-Cluster erfüllt, aber der Cluster skaliert nicht.

Lösung

Im Folgenden sind die häufigsten Gründe aufgeführt, warum Ihr EMR-Cluster möglicherweise nicht skaliert wird, obwohl die verwaltete Skalierung aktiviert ist oder die Kennzahlen für die Größenänderung erfüllt wurden:

Die in den Amazon CloudWatch-Metriken für die Skalierung festgelegten Schwellenwerte werden nicht erreicht

Die automatische Skalierung hängt von den CloudWatch-Metriken ab. Wenn die entsprechenden Metrikgrenzwerte für die Hoch- oder Herunterskalierung nicht erreicht werden, findet keine Skalierung statt.

Überprüfen Sie die Amazon EMR-Metriken in Amazon CloudWatch, um sicherzustellen, dass die in Ihren Skalierungsregeln festgelegten Metriken ausgefüllt werden. Stellen Sie beispielsweise sicher, dass ContainerPendingRatio, YARNMemoryAvailablePercentage usw. wie in Ihren Skalierungsregeln definiert ausgefüllt sind.

Im Folgenden sind die häufigsten Gründe dafür aufgeführt, dass Amazon EMR-Metriken in CloudWatch nicht wie erwartet ausgefüllt werden:

  • Die Datei /etc/hadoop/conf/hadoop-metrics2.properties existiert nicht oder ist beschädigt. Beispielsweise könnte die Datei durch eine benutzerdefinierte Bootstrap-Aktion überschrieben worden sein.
  • Möglicherweise treten Probleme mit metrikbezogenen Komponenten wie Hadoop, YARN usw. auf. Überprüfen Sie die entsprechenden Anwendungsprotokolle, um nach Fehlern zu suchen.
  • Stellen Sie für verwaltete Skalierung sicher, dass der **MetricsCollector-**Daemon läuft, indem Sie den Befehl sudo systemctl status MetricsCollector auf dem Primärknoten ausführen.

Sie verwenden 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 Auslastung der Presto-Abfragen hoch ist. Wenn Sie Anwendungen verwenden, die nicht auf YARN basieren, verwenden Sie die manuelle Skalierung. Sie können beispielsweise die Amazon-EMR-Resize-API so einrichten, dass sie benutzerdefinierte Presto-Metriken verwendet.

Die Kern- oder Aufgaben-Instancegruppen befinden sich im Status „ausgesetzt“ oder „angehalten“

Kern- oder Aufgaben-Instancegruppen, die sich im Status „ausgesetzt“ oder „angehalten“ befinden, bleiben beim Ändern der Größe oder Skalierung hängen. Schritte zur Fehlerbehebung finden Sie unter Status Gesperrt.

Rekonfigurationen führen dazu, dass sich Instancegruppen im Status „angehalten“ befinden. Weitere Informationen finden Sie unter Problembehandlung bei der Rekonfiguration von Instancegruppen.

In EMR gibt es HDFS-Anwendungsprobleme, die zu Problemen bei der Skalierung von Core-Knoten führen

Es hat sich bewährt, die Core-Knoten unverändert zu lassen, wenn Folgendes zutrifft:

  • Sie speichern Daten in Amazon Simple Storage Service (Amazon S3) -Buckets und
  • die HDFS-Auslastung ist minimal.

Skalieren Sie nur Aufgabenknoten, um HDFS-Probleme zu vermeiden.

Die Skalierung von Core-Knoten dauert länger als die Skalierung 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 Ihr Anwendungsfall eine Skalierung von Core-Knoten erfordert und die Skalierung nicht funktioniert, liegt möglicherweise ein Problem mit der Außerbetriebnahme von HDFS vor. Überprüfen Sie die folgenden Punkte, um Probleme bei der Skalierung zu beheben, die aufgrund der Außerbetriebnahme von HDFS hängen geblieben ist:

  • Überprüfen Sie den Zustand der HDFS-Services (Namenode und Datanode).
  • Überprüfen Sie, ob Blöcke fehlen, beschädigt sind oder zu wenig repliziert wurden, indem Sie den Befehl hdfs dfsadmin -report ausführen.
  • Überprüfen Sie, ob es Core-Knoten gibt, die aufgrund von Festplatten-, Arbeitsspeicher- oder CPU-Problemen fehlerhaft sind.
  • Stellen Sie fest, ob der HDFS-Replikationsfaktor auf eine höhere Zahl wie 3 oder 2 eingestellt ist. Wenn der Replikationsfaktor auf 3 oder 2 gesetzt ist und Sie versuchen, die Core-Knoten auf 1 herunterzuskalieren, gerät die Skalierung ins Stocken. Dies liegt daran, dass mindestens Replikate beibehalten werden müssen.

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. Führen Sie eine manuelle Größenänderung durch, wenn die Skalierung über einen längeren Zeitraum nicht funktioniert und bei AWS CloudTrail-Ereignissen Fehler aufgrund unzureichender Kapazität auftreten. 2 bis 3 Stunden gelten als ein langer Zeitraum, in dem die Skalierung stecken bleibt.


Ähnliche Informationen

Verwenden Sie die automatische Skalierung mit einer benutzerdefinierten Richtlinie für Instancegruppen

Manuelles Ändern der Größe eines laufenden Clusters

Verwenden von verwalteter Skalierung in Amazon EMR

Die 9 wichtigsten Tipps zur Leistungsoptimierung für PrestoDB in Amazon EMR

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr