Verwenden Sie den Kündigungsschutz, um Ihre Amazon EMR-Cluster vor einem versehentlichen Herunterfahren zu schützen - 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 Sie den Kündigungsschutz, um Ihre Amazon EMR-Cluster vor einem versehentlichen Herunterfahren zu schützen

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 Beendigungsschutz aktiviert ist, funktioniert die Aktion TerminateJobFlows in der Amazon-EMR-API nicht. Benutzer können den Cluster nicht über diese API oder den Befehl terminate-clusters in der AWS CLI beenden. Die API gibt einen Fehler zurück und die CLI wird mit einem Rückgabecode ungleich null beendet. Wenn Sie die Amazon-EMR-Konsole verwenden, um einen Cluster zu beenden, werden Sie zu einem zusätzlichen Schritt aufgefordert, um den Beendigungsschutz zu deaktivieren.

Warnung

Der Kündigungsschutz garantiert nicht, dass Daten im Falle eines menschlichen Fehlers oder einer Behelfslösung erhalten bleiben, z. B. wenn über die Befehlszeile ein Neustartbefehl ausgegeben wird, während eine SSH-Verbindung mit der Instance besteht, wenn eine Anwendung oder ein Skript, das auf der Instance ausgeführt wird, einen Neustartbefehl ausgibt oder wenn die Amazon- EC2 oder Amazon EMR-API verwendet wird, um den Kündigungsschutz zu deaktivieren. Dies gilt auch, wenn Sie Amazon EMR-Versionen 7.1 und höher ausführen und eine Instance fehlerhaft und nicht wiederherstellbar ist. Selbst wenn der Beendigungsschutz 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 Amazon EMR-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 Amazon EMR automatisch für alle EC2 Instances innerhalb des EMR-Clusters DisableApiTermination auf true. Das Gleiche gilt, wenn Sie den Kündigungsschutz deaktivieren. Amazon EMR wird für alle EC2 Instances innerhalb des EMR-Clusters automatisch auf False gesetzt. DisableApiTermination Wenn Sie einen Cluster von Amazon EMR aus beenden oder herunterskalieren und die EC2 Amazon-Einstellungen für eine EC2 Instance in Konflikt geraten, priorisiert Amazon EMR die Amazon EMR-Einstellung vor den DisableApiTermination Einstellungen DisableApiStop und in Amazon EC2 und beendet die Instance weiterhin. EC2

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 Amazon EMR-Konsole, der oder der Amazon EMR-API beenden oder herunterskalieren AWS CLI, überschreibt Amazon EMR 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, wird Amazon EMR in Amazon DisableApiStop auf False gesetzt EC2 und die Instance zusammen mit anderen Instances beendet.

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, ändert Amazon EMR die disableApiStop Einstellung für keine der EC2 Instances im jeweiligen EMR-Cluster.

Wichtig

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

Beendigungsschutz und instabile YARN-Knoten

Amazon EMR überprüft regelmäßig den Apache Hadoop YARN-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 Amazon EMR-Instance-Controller den Knoten 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 Amazon EMR-Release-Version ersetzt Amazon EMR entweder 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, ignoriert Amazon EMR 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 Arbeit an einen Amazon-EMR-Cluster einreichen.

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 Amazon EMR-Kündigungsschutz 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 die Amazon EMR-Konsole — 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.

  • Starten eines Clusters mit dem Amazon RunJobFlowEMR-API-Befehl — Termination Protection ist deaktiviert, sofern der TerminationProtected boolesche Wert nicht auf gesetzt ist. true

Für Cluster mit hoher Verfügbarkeit lauten die Standardeinstellungen für den Kündigungsschutz wie folgt:

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

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

  • Starten eines Clusters mit dem Amazon RunJobFlowEMR-API-Befehl — Termination Protection 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 Amazon EMR-Konsole unter https://console.aws.amazon.com/emr.

  2. Wählen Sie EC2 im linken Navigationsbereich unter EMR on die Option Clusters und dann Create cluster aus.

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

  4. Vergewissern Sie sich, dass unter Clusterbeendigung und Knotenersatz 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 erstellen 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.9.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 Amazon EMR-Befehlen finden Sie AWS CLI 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 Amazon EMR-Konsole unter https://console.aws.amazon.com/emr.

  2. Wählen Sie EC2 im linken Navigationsbereich unter EMR on 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 IDj-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