Verwenden von Presto Auto Scaling mit ordnungsgemäßer Stilllegung - Amazon EMR

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 Presto Auto Scaling mit ordnungsgemäßer Stilllegung

Die Amazon EMR-Version 5.30.0 und höher enthält eine Funktion, mit der Sie eine Übergangsfrist für bestimmte Skalierungsaktionen festlegen können. Die Übergangsfrist ermöglicht, dass Presto-Aufgaben weiterhin ausgeführt werden, bevor der Knoten aufgrund einer Scale-In-Aktion oder einer Auto Scaling-Richtlinienanforderung beendet wird. Weitere Informationen zu Skalierungsregeln finden Sie unter Grundlegendes zu Auto Scaling-Regeln im Management Guide für Amazon EMR. Ordnungsgemäßes Presto Auto Scaling verhindert, dass neue Aufgaben auf einem Knoten geplant werden, der außer Betrieb genommen wird, während gleichzeitig Aufgaben abgeschlossen werden können, die bereits ausgeführt werden, bevor das Zeitlimit für das Herunterfahren erreicht ist. Derzeit laufende Abfragen schließen die Ausführung ab, bevor der Knoten stillgelegt wird. Auto Scaling wird für Instance-Flotten nicht unterstützt.

Sie können steuern, wie viel Zeit für den Abschluss von Presto-Aufgaben nach dem Eingang einer Anforderung zum Herunterfahren der automatischen Skalierung gewährt wird. Standardmäßig beträgt das Timeout für das Herunterfahren für Amazon EMR 0 Minuten. Dies bedeutet, dass Amazon EMR den Knoten und alle darauf ausgeführten Presto-Aufgaben sofort beendet, wenn dies für eine Scale-In-Anforderung erforderlich ist. Um ein längeres Timeout für Presto-Aufgaben auf Amazon EMR festzulegen, damit laufende Abfragen abgeschlossen werden können, bevor ein Cluster herunterskaliert wird, verwenden Sie die Konfigurationsklassifizierung presto-config, um den Parameter graceful-shutdown-timeout auf einen Wert in Sekunden oder Minuten festzulegen, der größer als Null ist. Weitere Informationen finden Sie unter Konfigurieren von Anwendungen.

Wenn Sie beispielsweise den graceful-shutdown-timeout-Wert auf "30m" erhöhen, wird ein Timeout-Zeitraum von 30 Minuten angegeben. Nach Ablauf der Zeitüberschreitung für das Herunterfahren wird der für die Außerbetriebnahme markierte Knoten zwangsweise beendet, wenn er darauf wartet, dass Abfrageaufgaben abgeschlossen werden, und die Abfrage fehlschlägt. Wenn die Abfrageaufgaben innerhalb von fünf Minuten abgeschlossen werden, wird der für die Außerbetriebnahme markierte Knoten nach fünf Minuten beendet, sofern andere YARN-Anwendungen die Ausführung abgeschlossen haben.

Beispiel Presto Auto Scaling-Beispielkonfiguration mit ordnungsgemäßer Stilllegung

Ersetzen Sie den graceful-shutdown-timeout-Wert durch die Anzahl der Minuten, die für Ihre Einrichtung geeignet ist. Es gibt keinen Höchstwert. Im folgenden Beispiel wird ein Timeout-Wert von 1800 Sekunden (30 Minuten) festgelegt.

[ { "classification": "presto-config", "properties": { "graceful-shutdown-timeout": "1800s" } } ]

Einschränkungen

Die ordnungsgemäße PrestoDB-Außerbetriebnahme funktioniert nicht auf EMR-Clustern, bei denen die HTTP-Konnektivität deaktiviert ist, z. B. wenn http-server.http.enabled auf false festgelegt ist. PrestoSQL unterstützt keine ordnungsgemäße Stilllegung, unabhängig von der http-server.http.enabled-Einstellung.