Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden von verwalteter Skalierung in Amazon EMR
Wichtig
Wir empfehlen dringend, die neueste EMR Amazon-Version (Amazon EMR 7.3.0) für verwaltete Skalierung zu verwenden. In einigen frühen Versionen kann es zu zeitweiligen Anwendungsausfällen oder Verzögerungen bei der Skalierung kommen. Amazon hat dieses Problem mit den 5.x-Versionen 5.30.2, 5.31.1, 5.32.1, 5.33.1 und höher sowie mit den 6.x-Versionen 6.1.1, 6.2.1, 6.3.1 und höher EMR behoben. Weitere Informationen zur Region und Release-Verfügbarkeit finden Sie unter Verwaltete Skalierungsverfügbarkeit
Übersicht
Mit EMR Amazon-Versionen 5.30.0 und höher (außer Amazon EMR 6.0.0) können Sie Amazon EMR Managed Scaling aktivieren. Managed Scaling hilft Ihnen, die Anzahl der Instances oder Einheiten in Ihrem Cluster basierend auf der Workload automatisch zu erhöhen oder zu verringern. Amazon wertet EMR kontinuierlich Cluster-Metriken aus, um Skalierungsentscheidungen zu treffen, die Ihre Cluster im Hinblick auf Kosten und Geschwindigkeit optimieren. Verwaltete Skalierung ist für Cluster verfügbar, die entweder aus Instance-Gruppen oder Instance-Flotten bestehen.
Verwaltete Skalierungsverfügbarkeit
-
Im Folgenden AWS-Regionen ist Amazon EMR Managed Scaling mit Amazon EMR 6.14.0 und höher verfügbar:
-
Asien-Pazifik (Hyderabad) (ap-south-2)
-
Asien-Pazifik (Jakarta) (ap-southeast-3)
-
Europa (Spanien) (eu-south-2)
-
-
Im Folgenden AWS-Regionen ist Amazon EMR Managed Scaling mit Amazon EMR 5.30.0 und 6.1.0 und höher verfügbar:
USA Ost (Nord-Virginia): (us-east-1)
USA Ost (Ohio): (us-east-2)
USA West (Oregon): (us-west-2)
USA West (Nordkalifornien) (us-west-1)
Afrika (Kapstadt) (af-south-1)
Asien-Pazifik (Hongkong) (ap-east-1)
Asien-Pazifik (Mumbai): (ap-south-1)
Asien-Pazifik (Seoul): (ap-northeast-2)
Asien-Pazifik (Singapur): (ap-southeast-1)
Asien-Pazifik (Sydney): (ap-southeast-2)
Asien-Pazifik (Tokyo) (ap-northeast-1)
Kanada (Zentral): (ca-central-1)
Südamerika (São Paulo) (sa-east-1)
Europa (Frankfurt) (eu-central-1)
Europa (Irland) (eu-west-1)
Europa (London) (eu-west-2)
Europa (Mailand) (eu-south-1)
Europa (Paris) (eu-west-3)
Europa (Stockholm) (eu-north-1)
China (Peking) (cn-north-1)
China (Ningxia) (cn-northwest-1)
AWS GovCloud (US-Ost) (-1) us-gov-east
AWS GovCloud (US-West) (us-gov-west-1)
-
Amazon EMR Managed Scaling funktioniert nur mit YARN Anwendungen wie Spark, Hadoop, Hive und Flink. Es unterstützt keine Anwendungen, die nicht darauf basierenYARN, wie Presto und. HBase
Verwaltete Skalierungsparameter
Sie müssen die folgenden Parameter für die verwaltete Skalierung konfigurieren. Das Limit gilt nur für die Kern- und Aufgabenknoten. Der Primärknoten kann nach der Erstkonfiguration nicht skaliert werden.
-
Minimum (
MinimumCapacityUnits
) — Die untere Grenze der zulässigen EC2 Kapazität in einem Cluster. Sie wird anhand von Kernen oder Instanzen der virtuellen Zentraleinheit (VCPU) für Instanzgruppen gemessen. Sie wird in Einheiten für Instance-Flotten gemessen. -
Maximum (
MaximumCapacityUnits
) — Die Obergrenze der zulässigen EC2 Kapazität in einem Cluster. Sie wird anhand von Kernen oder Instanzen der virtuellen Zentraleinheit (VCPU) für Instanzgruppen gemessen. Sie wird in Einheiten für Instance-Flotten gemessen. -
On-Demand-Limit (
MaximumOnDemandCapacityUnits
) (optional) — Die Obergrenze der zulässigen EC2 Kapazität für den On-Demand-Markttyp in einem Cluster. Wenn dieser Parameter nicht angegeben wird, wird der StandardwertMaximumCapacityUnits
verwendet.-
Dieser Parameter wird verwendet, um die Kapazitätszuweisung zwischen On-Demand- und Spot Instances aufzuteilen. Wenn Sie beispielsweise den Minimalparameter auf 2 Instances, den Maximalparameter auf 100 Instances und das On-Demand-Limit auf 10 Instances festlegen, skaliert Amazon EMR Managed Scaling auf bis zu 10 On-Demand-Instances und weist die verbleibende Kapazität Spot-Instances zu. Weitere Informationen finden Sie unter Knotenzuweisungsszenarien.
-
-
Maximale Anzahl an Kernknoten (
MaximumCoreCapacityUnits
) (optional) — Die Obergrenze der zulässigen EC2 Kapazität für den Core-Knotentyp in einem Cluster. Wenn dieser Parameter nicht angegeben wird, wird der StandardwertMaximumCapacityUnits
verwendet.-
Dieser Parameter wird verwendet, um die Kapazitätszuweisung zwischen Core- und Aufgabenknoten aufzuteilen. Wenn Sie beispielsweise den Minimalparameter auf 2 Instances, das Maximum auf 100 Instances und den maximalen Core-Knoten auf 17 Instances festlegen, skaliert Amazon EMR Managed Scaling auf bis zu 17 Kernknoten und weist die verbleibenden 83 Instances Task-Knoten zu. Weitere Informationen finden Sie unter Knotenzuweisungsszenarien.
-
Weitere Informationen zu verwalteten Skalierungsparametern finden Sie unter ComputeLimits
.
Überlegungen zur von Amazon EMR verwalteten Skalierung
-
Managed Scaling wird in limitierten Versionen AWS-Regionen und EMR Amazon-Versionen unterstützt. Weitere Informationen finden Sie unter Verwaltete Skalierungsverfügbarkeit.
-
Sie müssen die erforderlichen Parameter für Amazon EMR Managed Scaling konfigurieren. Weitere Informationen finden Sie unter Verwaltete Skalierungsparameter.
-
Um Managed Scaling verwenden zu können, muss der Metrics-Collector-Prozess in der Lage sein, eine Verbindung zum öffentlichen API Endpunkt für die verwaltete Skalierung in Gateway herzustellen. API Wenn Sie einen privaten DNS Namen mit verwenden Amazon Virtual Private Cloud, funktioniert die verwaltete Skalierung nicht ordnungsgemäß. Um sicherzustellen, dass die verwaltete Skalierung funktioniert, empfehlen wir, dass Sie eine der folgenden Aktionen ausführen:
-
Entfernen Sie den API VPC Gateway-Schnittstellenendpunkt von Ihrem AmazonVPC.
-
Folgen Sie den Anweisungen unter Warum erhalte ich die Fehlermeldung HTTP 403 Forbidden, wenn ich von einem APIs aus eine Verbindung zu meinem API Gateway herstelleVPC?
um die Einstellung für private DNS Namen zu deaktivieren. -
Starten Sie Ihren Cluster stattdessen in einem privaten Subnetz. Weitere Informationen finden Sie im Thema Private Subnetze.
-
-
Wenn Ihre YARN Jobs während des Herunterskalierens zeitweise langsam sind und die YARN Resource Manager-Protokolle zeigen, dass die meisten Ihrer Knoten während dieser Zeit auf der Negativliste standen, können Sie den Schwellenwert für die Außerbetriebnahme anpassen.
Reduzieren Sie den
spark.blacklist.decommissioning.timeout
von einer Stunde auf eine Minute, um den Knoten für andere ausstehende Container verfügbar zu machen, um die Aufgabenverarbeitung fortzusetzen.Sie sollten auch einen höheren Wert festlegen
YARN.resourcemanager.nodemanager-graceful-decommission-timeout-secs
, um sicherzustellen, dass Amazon EMR das Beenden des Knotens nicht erzwingt, solange die längste „Spark-Task“ noch auf dem Knoten läuft. Die aktuelle Standardeinstellung ist 60 Minuten, was bedeutet, dass der Container nach 60 Minuten YARN zwangsweise beendet wird, sobald der Knoten in den Stilllegungszustand übergeht.Das folgende Beispiel für eine YARN Resource Manager-Protokollzeile zeigt Knoten, die dem Status „Außerbetriebnahme“ hinzugefügt wurden:
2021-10-20 15:55:26,994 INFO org.apache.hadoop.YARN.server.resourcemanager.DefaultAMSProcessor (IPC Server handler 37 on default port 8030): blacklist are updated in Scheduler.blacklistAdditions: [ip-10-10-27-207.us-west-2.compute.internal, ip-10-10-29-216.us-west-2.compute.internal, ip-10-10-31-13.us-west-2.compute.internal, ... , ip-10-10-30-77.us-west-2.compute.internal], blacklistRemovals: []
Erfahren Sie mehr darüber, wie Amazon bei der Außerbetriebnahme von Knoten in die YARN Deny-Listing-Funktion EMR integriert, in Fällen, in denen Knoten in Amazon auf eine Ablehnungsliste
gesetzt werden EMR können, und zur Konfiguration des Verhaltens bei der Außerbetriebnahme von Spark-Knoten. -
Eine übermäßige Auslastung von EBS Volumes kann zu Problemen mit Managed Scaling führen. Wir empfehlen, das EBS Volumen unter 90% zu halten. Weitere Informationen finden Sie unter Speicheroptionen und Verhalten von Instanzen in Amazon EMR.
-
CloudWatch Amazon-Metriken sind entscheidend für den Betrieb von Amazon EMR Managed Scaling. Wir empfehlen Ihnen, die CloudWatch Amazon-Metriken genau zu beobachten, um sicherzustellen, dass keine Daten fehlen. Weitere Informationen darüber, wie Sie CloudWatch Alarme konfigurieren können, um fehlende Messwerte zu erkennen, finden Sie unter CloudWatch Amazon-Alarme verwenden.
-
Verwaltete Skalierungsvorgänge auf Clustern der Versionen 5.30.0 und 5.30.1, ohne dass Presto installiert ist, können zu Anwendungsausfällen führen oder dazu führen, dass eine einheitliche Instance-Gruppe oder Instance-Flotte unverändert im Status
ARRESTED
bleibt, insbesondere wenn auf einen Herunterskalierungsvorgang schnell ein Skalierungsvorgang folgt.Um dieses Problem zu umgehen, wählen Sie Presto als zu installierende Anwendung, wenn Sie einen Cluster mit den EMR Amazon-Versionen 5.30.0 und 5.30.1 erstellen, auch wenn Ihr Job Presto nicht benötigt.
-
Wenn Sie den maximalen Core-Knoten und das On-Demand-Limit für Amazon EMR Managed Scaling festlegen, sollten Sie die Unterschiede zwischen Instance-Gruppen und Instance-Flotten berücksichtigen. Jede Instance-Gruppenkonfiguration besteht jeder Knotentyp aus demselben Instance-Typ und derselben Kaufoption für Instances: On-Demand oder Spot. Für jede Instance-Flotte geben Sie bis zu fünf Instance-Typen an, die als On-Demand- und Spot Instances bereitgestellt werden können. Weitere Informationen finden Sie unter Erstellen eines Clusters mit Instance-Flotten oder einheitlichen Instance-Gruppen, Instance Flotten Optionen und Knotenzuweisungsszenarien.
-
Wenn Sie bei Amazon EMR 5.30.0 und höher die Standardregel Allow All Outbound auf 0.0.0.0/ für die Master-Sicherheitsgruppe entfernen, müssen Sie eine Regel hinzufügen, die ausgehende TCP Konnektivität zu Ihrer Sicherheitsgruppe für den Servicezugriff auf Port 9443 zulässt. Ihre Sicherheitsgruppe für den Servicezugriff muss auch eingehenden TCP Datenverkehr über Port 9443 von der Master-Sicherheitsgruppe zulassen. Weitere Informationen zur Konfiguration von Sicherheitsgruppen finden Sie unter Von Amazon EMR verwaltete Sicherheitsgruppe für die primäre Instance (private Subnetze).
-
Sie können es verwenden AWS CloudFormation , um Amazon EMR Managed Scaling zu konfigurieren. Weitere Informationen finden Sie unter AWS:EMR: :Cluster im AWS CloudFormation Benutzerhandbuch.
-
Wenn Sie Spot-Knoten verwenden, sollten Sie die Verwendung EMR von Knotenbezeichnungen in Betracht ziehen, um zu verhindern, dass Amazon Anwendungsprozesse EMR entfernt, wenn Amazon Spot-Knoten entfernt. Weitere Informationen zu Knotenbezeichnungen finden Sie unter Task-Knoten.
-
Die Knotenkennzeichnung wird in EMR Amazon-Versionen 6.15 oder niedriger standardmäßig nicht unterstützt. Weitere Informationen finden Sie unter Grundlegendes zu Knotentypen: Primär-, Kern- und Aufgabenknoten.
-
Wenn Sie EMR Amazon-Versionen 6.15 oder niedriger verwenden, können Sie Knotenbezeichnungen nur nach Knotentyp zuweisen, z. B. Kern- und Aufgabenknoten. Wenn Sie jedoch Amazon EMR Version 7.0 oder höher verwenden, können Sie Node-Labels nach Knotentyp und Markttyp konfigurieren, z. B. On-Demand und Spot.
-
Wenn die Nachfrage nach Anwendungsprozessen steigt und die Nachfrage nach Ausführern sinkt, wenn Sie den Anwendungsprozess auf Kernknoten beschränkt haben, können Sie bei derselben Größenänderung wieder Kernknoten hinzufügen und Aufgabenknoten entfernen. Weitere Informationen finden Sie unter Grundlegendes zu Strategien und Szenarien für die Knotenzuweisung.
-
Amazon kennzeichnet Aufgabenknoten EMR nicht, sodass Sie die YARN Eigenschaften nicht festlegen können, um Anwendungsprozesse nur für Aufgabenknoten einzuschränken. Wenn Sie jedoch Markttypen als Knotenbezeichnungen verwenden möchten, können Sie die
SPOT
BezeichnungenON_DEMAND
oder für die Platzierung von Antragsprozessen verwenden. Wir empfehlen nicht, Spot-Nodes für primäre Anwendungsprozesse zu verwenden. -
Wenn Sie Node Labels verwenden, kann die Gesamtzahl der laufenden Einheiten im Cluster vorübergehend die in Ihrer verwalteten Skalierungsrichtlinie festgelegte maximale Rechenleistung überschreiten, während Amazon EMR einige Ihrer Instances außer Betrieb nimmt. Die Gesamtzahl der angeforderten Einheiten bleibt immer auf oder unter der in Ihrer Richtlinie festgelegten maximalen Rechenleistung.
-
Managed Scaling unterstützt nur die Knotenbezeichnungen
ON_DEMAND
undSPOT
oderCORE
undTASK
. Benutzerdefinierte Knotenbezeichnungen werden nicht unterstützt. -
Amazon EMR erstellt Knotenbezeichnungen, wenn der Cluster erstellt und Ressourcen bereitgestellt werden. Amazon unterstützt das Hinzufügen von Knotenbezeichnungen bei der Neukonfiguration des Clusters EMR nicht. Sie können die Knotenbezeichnungen auch nicht ändern, wenn Sie die verwaltete Skalierung nach dem Start des Clusters konfigurieren.
-
Bei der verwalteten Skalierung werden Kern- und Taskknoten unabhängig voneinander auf der Grundlage des Anwendungsprozesses und der Nachfrage der Executoren skaliert. Um HDFS Datenverlust beim Herunterfahren der Kerne zu vermeiden, sollten Sie sich an die Standardpraxis für Kernknoten halten. Weitere Informationen zu bewährten Methoden für Kernknoten und HDFS Replikation finden Sie unter Überlegungen und bewährte Methoden.
-
Sie können nicht sowohl den Anwendungsprozess als auch die Executoren nur auf dem Knoten
core
oder demON_DEMAND
Knoten platzieren. Wenn Sie sowohl den Anwendungsprozess als auch die Executoren auf einem der Knoten hinzufügen möchten, verwenden Sie die Konfiguration nicht.yarn.node-labels.am.default-node-label-expression
Um beispielsweise sowohl den Anwendungsprozess als auch die Executoren in
ON_DEMAND
Knoten zu platzieren, setzen Sie max compute auf den Wert Maximum im Knoten.ON_DEMAND
Entfernen Sie außerdem die Konfigurationyarn.node-labels.am.default-node-label-expression
.Um sowohl den Anwendungsprozess als auch Executoren auf
core
Knoten hinzuzufügen, entfernen Sie dieyarn.node-labels.am.default-node-label-expression
Konfiguration. -
Wenn Sie verwaltete Skalierung mit Knotenbezeichnungen verwenden, legen Sie die Eigenschaft fest,
yarn.scheduler.capacity.maximum-am-resource-percent: 1
wenn Sie mehrere Anwendungen parallel ausführen möchten. Dadurch wird sichergestellt, dass Ihre Anwendungsprozesse die verfügbarenCORE
ON_DEMAND
OR-Knoten vollständig nutzen. -
Wenn Sie verwaltete Skalierung mit Knotenbezeichnungen verwenden, legen Sie für
yarn.resourcemanager.decommissioning.timeout
die Eigenschaft einen Wert fest, der länger ist als die am längsten laufende Anwendung in Ihrem Cluster. Dadurch wird die Wahrscheinlichkeit verringert, dass Amazon EMR Managed Scaling Ihre Anwendungen für die Wiederinbetriebnahme oder Knoten neu planen muss.CORE
ON_DEMAND
Feature-Verlauf
In dieser Tabelle sind Aktualisierungen der von Amazon EMR verwalteten Skalierungsfunktion aufgeführt.
Datum der Veröffentlichung | Funktion | EMRAmazon-Versionen |
---|---|---|
20. August 2024 | Node-Labels sind jetzt in Managed Scaling verfügbar, sodass Sie Ihre Instances nach Markt- oder Knotentyp kennzeichnen können, um die automatische Skalierung zu verbessern. | 7.2.0 und höher |
31. März 2024 | Managed Scaling ist in der Region ap-south-2 Asien-Pazifik (Hyderabad) verfügbar. |
6.14.0 und höher |
13. Februar 2024 | Managed Scaling ist in der Region eu-south-2 Europa (Spanien) verfügbar. |
6.14.0 und höher |
10. Oktober 2023 | Managed Scaling ist in der ap-southeast-3 -Region Asien-Pazifik (Jakarta) verfügbar. |
6.14.0 und höher |
28. Juli 2023 | Verbesserte verwaltete Skalierung, um beim Scale-up zu einer anderen Task-Instance-Gruppe zu wechseln, wenn Amazon EMR bei der Skalierung mit der aktuellen Instance-Gruppe eine Verzögerung feststellt. | 5.34.0 und höher, 6.4.0 und höher |
16. Juni 2023 | Verbesserte verwaltete Skalierung, sodass erkannt wird, auf welchen Knoten der Application Master ausgeführt wird, sodass diese Knoten nicht herunterskaliert werden. Weitere Informationen finden Sie unter Grundlegendes zur EMR Amazon-Knotenzuweisungsstrategie und -Szenarien. | 5.34.0 und höher, 6.4.0 und höher |
21. März 2022 | Spark Shuffle Data Awareness wurde hinzugefügt, das beim Herunterskalieren von Clustern verwendet wird. Bei EMR Amazon-Clustern mit Apache Spark und aktivierter Managed Scaling-Funktion überwacht Amazon EMR kontinuierlich Spark-Executors und Zwischenspeicherorte für Shuffle-Daten. Anhand dieser Informationen EMR skaliert Amazon nur ungenutzte Instances herunter, die keine aktiv genutzten Shuffle-Daten enthalten. Dadurch wird eine Neuberechnung verloren gegangener Shuffle-Daten verhindert, was zur Senkung der Kosten und zur Verbesserung der Arbeitsleistung beiträgt. Weitere Informationen finden Sie unter im Spark-Programmierhandbuch |
5.34.0 und höher, 6.4.0 und höher |