Verwenden des Beendigungsschutzes - 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 des Beendigungsschutzes

Der Terminierungsschutz schützt Ihre Cluster vor einer versehentlichen Kündigung. Dies kann besonders bei Clustern mit langer Laufzeit, die kritische Workloads verarbeiten, nützlich sein. Wenn der Beendigungsschutz für einen langlebigen Cluster aktiviert ist, können Sie den Cluster weiter beenden, müssen jedoch zunächst den Beendigungsschutz explizit aus dem Cluster entfernen. Dadurch wird sichergestellt, dass EC2 Instances nicht versehentlich oder irrtümlich heruntergefahren werden. Sie können den Beendigungsschutz aktivieren, wenn Sie einen Cluster erstellen. Sie können die Einstellung auf einem ausgeführten Cluster ändern.

Wenn der Kündigungsschutz aktiviert ist, EMR API funktioniert die TerminateJobFlows Aktion im Amazon nicht. Benutzer können den Cluster nicht mit diesem API oder dem terminate-clusters Befehl von beenden AWS CLI. Der API gibt einen Fehler zurück und CLI beendet den Vorgang mit einem Rückgabecode ungleich Null. Wenn Sie die EMR Amazon-Konsole verwenden, um einen Cluster zu beenden, werden Sie zu einem zusätzlichen Schritt aufgefordert, den Kündigungsschutz auszuschalten.

Warnung

Der Kündigungsschutz garantiert nicht, dass Daten im Falle eines menschlichen Fehlers oder einer Behelfslösung erhalten bleiben, z. B. wenn ein Neustartbefehl über die Befehlszeile ausgegeben wird, während eine Verbindung zur Instance bestehtSSH, wenn eine Anwendung oder ein Skript, das auf der Instance ausgeführt wird, einen Neustartbefehl ausgibt oder wenn Amazon EC2 oder Amazon verwendet EMR API wird, um den Kündigungsschutz zu deaktivieren. Dies gilt auch, wenn Sie EMR Amazon-Versionen 7.1 und höher ausführen und eine Instance fehlerhaft und nicht wiederherstellbar ist. Selbst wenn der Kündigungsschutz aktiviert ist, können im Instance-Speicher gespeicherte Daten, einschließlich HDFS Daten, verloren gehen. Schreiben Sie die Datenausgabe an Amazon-S3-Standorte und erstellen Sie Backup-Strategien, die Ihren Anforderungen an die Geschäftskontinuität entsprechen.

Der Beendigungsschutz wirkt sich nicht auf Ihre Fähigkeit aus, Cluster-Ressourcen mit einer der folgenden Aktionen zu skalieren:

Kündigungsschutz und Amazon EC2

Die Einstellung für den Kündigungsschutz in einem EMR Amazon-Cluster entspricht dem DisableApiTermination Attribut für alle EC2 Amazon-Instances im Cluster. Wenn Sie beispielsweise den Kündigungsschutz in einem EMR Cluster aktivieren, setzt DisableApiTermination Amazon EMR automatisch für alle EC2 Instances innerhalb des EMR Clusters auf true. Das Gleiche gilt, wenn Sie den Kündigungsschutz deaktivieren. Amazon setzt EMR DisableApiTermination automatisch für alle EC2 Instances innerhalb des EMR Clusters auf False. Wenn Sie einen Cluster von Amazon beenden oder herunterskalieren EMR und die EC2 Amazon-Einstellungen für eine EC2 Instance in Konflikt geraten, EMR priorisiert Amazon die EMR Amazon-Einstellung vor den DisableApiTermination Einstellungen DisableApiStop und in Amazon EC2 und beendet die EC2 Instance weiterhin.

Sie können beispielsweise die EC2 Amazon-Konsole verwenden, um den Kündigungsschutz für eine EC2 Amazon-Instance in einem EMR Cluster mit deaktiviertem Kündigungsschutz zu aktivieren. Wenn Sie den Cluster mit der EMR Amazon-Konsole, der AWS CLI oder Amazon beenden oder herunterskalieren EMRAPI, EMR überschreibt Amazon die DisableApiTermination Einstellung, setzt sie auf False und beendet die Instance zusammen mit anderen Instances.

Sie können die EC2 Amazon-Konsole auch verwenden, um den Stop-Schutz für eine EC2 Amazon-Instance in einem EMR Cluster mit deaktiviertem Kündigungsschutz zu aktivieren. Wenn Sie den Cluster beenden oder herunterskalieren, EMR setzt Amazon in Amazon DisableApiStop auf False EC2 und beendet die Instance zusammen mit anderen Instances.

Amazon EMR überschreibt die DisableApiStop Einstellung nur, wenn Sie einen Cluster beenden oder herunterskalieren. Wenn Sie den Kündigungsschutz in einem EMR Cluster aktivieren oder deaktivieren, EMR ändert Amazon die disableApiStop Einstellung für keine der EC2 Instances im jeweiligen EMR Cluster.

Wichtig

Wenn Sie eine Instance als Teil eines EMR Amazon-Clusters mit Kündigungsschutz erstellen und die Amazon- EC2 API oder AWS CLI -Befehle verwenden, um die Instance so zu ändern, dass das DisableApiTermination heißtfalse, und dann die Amazon- EC2 API oder AWS CLI -Befehle den TerminateInstances Vorgang ausführen, wird die EC2 Amazon-Instance beendet.

Kündigungsschutz und fehlerhafte Knoten YARN

Amazon überprüft EMR regelmäßig den Apache YARN Hadoop-Status von Knoten, die auf Kern- und EC2 Task-Amazon-Instances in einem Cluster ausgeführt werden. Der Gesundheitsstatus wird vom NodeManager Health Checker Service gemeldet. Wenn ein Knoten meldetUNHEALTHY, fügt der EMR Amazon-Instance-Controller den Knoten zu einer Denylist hinzu und weist ihm keine YARN Container zu, bis er wieder fehlerfrei ist. Abhängig vom Status des Kündigungsschutzes, des Austauschs fehlerhafter Knoten und der EMR Amazon-Release-Version ersetzt Amazon entweder EMR die fehlerhafte Instance oder beendet die Zuweisung von Controllern zur Instance.

Kündigungsschutz und Kündigung nach Ausführung des Schritts

Wenn Sie die Kündigung nach der Ausführung des Schritts aktivieren und gleichzeitig den Kündigungsschutz aktivieren, EMR ignoriert Amazon den Kündigungsschutz.

Wenn Sie Schritte an einen Cluster übermitteln, können Sie die Eigenschaft ActionOnFailure festlegen, um zu bestimmen, was passiert, wenn die Ausführung eines Schritts aufgrund eines Fehlers nicht abgeschlossen werden kann. Die möglichen Werte für diese Einstellung sind TERMINATE_CLUSTER (TERMINATE_JOB_FLOW mit früheren Versionen), CANCEL_AND_WAIT und CONTINUE. Weitere Informationen finden Sie unter Übermitteln von Arbeit an einen Cluster.

Wenn ein Schritt fehlschlägt, der mit der ActionOnFailure Einstellung auf konfiguriert istCANCEL_AND_WAIT, und wenn die Beendigung nach der Ausführung des Schritts aktiviert ist, wird der Cluster beendet, ohne dass nachfolgende Schritte ausgeführt werden.

Wenn ein Schritt fehlschlägt, für den ActionOnFailure auf TERMINATE_CLUSTER festgelegt wurde, können Sie anhand der folgenden Tabelle mit Einstellungen das Ergebnis ermitteln.

ActionOnFailure Beendigung nach der Ausführung des Schritts Termination protection Ergebnis

TERMINATE_CLUSTER

Enabled

Disabled

Cluster wird beendet

Aktiviert

Aktiviert

Cluster wird beendet

Disabled

Aktiviert

Cluster wird weiter ausgeführt

Disabled

Disabled

Cluster wird beendet

Beendigungsschutz und Spot Instances

Der EMR Kündigungsschutz von Amazon verhindert nicht, dass eine Amazon EC2 Spot-Instance beendet wird, wenn der Spot-Preis über den maximalen Spot-Preis steigt.

Konfigurieren des Beendigungsschutzes beim Starten eines Clusters

Sie können den Kündigungsschutz aktivieren oder deaktivieren, wenn Sie einen Cluster über die Konsole AWS CLI, die oder die API starten.

Für Cluster mit einem Knoten lauten die Standardeinstellungen für den Kündigungsschutz wie folgt:

  • Starten eines Clusters über Amazon EMR Console — Termination Protection ist standardmäßig deaktiviert.

  • Das Starten eines Clusters mit AWS CLI aws emr create-cluster —Termination Protection ist deaktiviert, sofern nicht anders angegeben--termination-protected.

  • Einen Cluster per Amazon EMR API RunJobFlowCommand—Termination Protection starten ist deaktiviert, sofern der TerminationProtected boolesche Wert nicht auf gesetzt ist. true

Für Hochverfügbarkeitscluster lauten die Standardeinstellungen für den Kündigungsschutz wie folgt:

  • Starten eines Clusters über Amazon EMR Console — Termination Protection ist standardmäßig aktiviert.

  • Das Starten eines Clusters mit AWS CLI aws emr create-cluster —Termination Protection ist deaktiviert, sofern nicht anders --termination-protected angegeben.

  • Einen Cluster per Amazon EMR API RunJobFlowCommand—Termination Protection starten ist deaktiviert, sofern der TerminationProtected boolesche Wert nicht auf gesetzt ist. true

Console
Um den Kündigungsschutz ein- oder auszuschalten, wenn Sie einen Cluster mit der Konsole erstellen
  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die EMR Amazon-Konsole unter https://console.aws.amazon.com/emr.

  2. Wählen Sie EC2 im linken Navigationsbereich unter EMRon die Option Clusters und anschließend Create cluster aus.

  3. Wählen Sie für die EMRRelease-Version emr-6.6.0 oder höher aus.

  4. Vergewissern Sie sich, dass unter Clusterbeendigung und Knotenaustausch die Option Kündigungsschutz verwenden vorausgewählt ist, oder löschen Sie die Auswahl, um sie auszuschalten.

  5. Wählen Sie alle anderen Optionen aus, die für Ihren Cluster gelten.

  6. Um Ihren Cluster jetzt zu starten, wählen Sie Cluster erstellen aus.

AWS CLI
Um den Kündigungsschutz ein- oder auszuschalten, wenn Sie einen Cluster mit dem AWS CLI
  • Mit dem AWS CLI können Sie einen Cluster mit aktiviertem Kündigungsschutz mit dem create-cluster Befehl mit dem --termination-protected Parameter starten. Der Beendigungsschutz ist standardmäßig deaktiviert.

    Im folgenden Beispiel wird ein Cluster mit aktiviertem Beendigungsschutz erstellt:

    Anmerkung

    Linux-Zeilenfortsetzungszeichen (\) sind aus Gründen der Lesbarkeit enthalten. Sie können entfernt oder in Linux-Befehlen verwendet werden. Entfernen Sie sie unter Windows oder ersetzen Sie sie durch ein Caret-Zeichen (^).

    aws emr create-cluster --name "TerminationProtectedCluster" --release-label emr-7.2.0 \ --applications Name=Hadoop Name=Hive Name=Pig \ --use-default-roles --ec2-attributes KeyName=myKey --instance-type m5.xlarge \ --instance-count 3 --termination-protected

    Weitere Informationen zur Verwendung von EMR Amazon-Befehlen in der AWS CLI finden Sie unterhttps://docs.aws.amazon.com/cli/latest/reference/emr.

Konfigurieren des Beendigungsschutzes für aktive Cluster

Sie können den Beendigungsschutz für einen aktiven Cluster mithilfe der Konsole oder AWS CLI konfigurieren.

Console
So schalten Sie den Kündigungsschutz für einen laufenden Cluster mit der Konsole ein oder aus
  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die EMR Amazon-Konsole unter https://console.aws.amazon.com/emr.

  2. Wählen Sie EC2 im linken Navigationsbereich unter EMRon die Option Clusters und dann den Cluster aus, den Sie aktualisieren möchten.

  3. Suchen Sie auf der Registerkarte Eigenschaften der Cluster-Detailseite nach Clusterbeendigung und wählen Sie Bearbeiten aus.

  4. Aktivieren oder deaktivieren Sie das Kontrollkästchen Beendigungsschutz verwenden, um das Feature ein- oder auszuschalten. Wählen Sie dann zur Bestätigung Änderungen speichern aus.

AWS CLI
Um den Kündigungsschutz für einen laufenden Cluster ein- oder auszuschalten, verwenden Sie den AWS CLI
  • Um den Beendigungsschutz für einen ausgeführten Cluster über die AWS CLI zu aktivieren, verwenden Sie den Befehl modify-cluster-attributes mit dem Parameter --termination-protected. Um ihn zu deaktivieren, verwenden Sie den Parameter --no-termination-protected.

    Das folgende Beispiel aktiviert den Kündigungsschutz auf dem Cluster mit der ID j-3KVTXXXXXX7UG:

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --termination-protected

    Im folgenden Beispiel wird der Beendigungsschutz für dasselbe Cluster deaktiviert:

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --no-termination-protected