Umgang mit dem Verlust von Spot Instances in Presto - 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.

Umgang mit dem Verlust von Spot Instances in Presto

Mit Spot-Instances in Amazon EMR können Sie Big-Data-Workloads auf freien EC2 Amazon-Kapazitäten zu reduzierten Kosten ausführen. Im Gegenzug für die geringeren Kosten EC2 kann Amazon Spot-Instances mit einer zweiminütigen Benachrichtigung unterbrechen. Wenn Sie einen Knoten beenden, kann es bis zu 10 Minuten dauern, bis Presto einen Fehler zurückgibt. Dies führt zu unnötigen Verzögerungen bei Fehlerberichten und möglichen Wiederholungsversuchen. Schnelle Beendigung ist ein Feature, mit der Sie kontrollieren können, wie Presto mit beendeten Knoten umgeht.

Die Aufgabe des Presto-Koordinators besteht darin, den Überblick über alle Worker-Knoten zu behalten und deren Status regelmäßig abzufragen. Ohne eine schnelle Kündigung konsultiert der Koordinator den YARN NodeManager Status der einzelnen Knoten nicht. Dies kann zu einer langen Wiederholungsschleife führen, bevor die Abfrage fehlschlägt. Bei einer Schnellbeendigung fragt der Presto-Koordinator den Knotenstatus ab, NodeManager sobald die Abfrage den Host nicht erreicht. Wenn sich NodeManager herausstellt, dass der Knoten inaktiv ist, bricht Presto weitere Versuche ab, schlägt die Abfrage fehl und gibt einen Fehler zurück. NODE_DECOMMISSIONED

Mit den folgenden Konfigurationsparametern können Sie das Verhalten von Presto im Falle einer Knotenbeendigung steuern und anpassen.

Presto-Konfigurationen für die Behandlung von Knotenausfällen
Einstellung Beschreibung Standard
query.remote-task.max-backoff-duration Die Dauer, während der der Koordinator weiterhin versucht, den Status der Remote-Aufgabe von den Worker-Knoten abzurufen. 10 Minuten
query.remote-task.quick-terminate-node-failure

Aktiviert den schnellen Knotenausfall, wenn der Koordinator den Knoten nicht erreichen oder keine Verbindung zu dem Worker herstellen kann, der auf diesem Knoten ausgeführt wird. Der Wert von query.remote-task.terminate-on-connect-exception bestimmt, ob der Koordinator den Knoten erreichen oder eine Verbindung zum Worker herstellen muss.

Der Knoten schlägt die Abfrage fehl und Amazon EMR entfernt den Knoten aus der Liste der verfügbaren Worker. In diesem Fall können Sie den Knoten nicht verwenden, um neue Abfragen zu planen.

Wenn Sie diesen Wert auf false setzen, kehrt Presto zu seinem vorherigen Verhalten zurück, bei dem der Presto-Koordinator erneut versucht, den Knoten (für query.remote-task.max-backoff-duration) zu erreichen, bevor er den Knoten als nicht verfügbar markiert und die laufende Abfrage auf dem Knoten fehlschlägt.

true
query.remote-task.terminate-on-connect-exception Gibt an, ob Amazon einen Knoten einrichten EMR soll, wenn der Host erreichbar ist, der Koordinator aber keine Verbindung zum Worker-Prozess des Hosts herstellen kann. Wenn Sie diesen Wert auf true setzen, aktivieren Sie „schneller Abfragefehler“, falls der Host nicht erreichbar ist. false