Verwenden einer automatischen Terminierungsrichtlinie für die Amazon EMR-Clusterbereinigung - 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 einer automatischen Terminierungsrichtlinie für die Amazon EMR-Clusterbereinigung

Mit einer Richtlinie zur automatischen Terminierung können Sie die Clusterbereinigung orchestrieren, ohne ungenutzte Cluster überwachen und manuell beenden zu müssen. Wenn Sie einem Cluster eine automatische Terminierungsrichtlinie hinzufügen, geben Sie die Leerlaufzeit an, nach der der Cluster automatisch heruntergefahren werden soll.

Je nach Release-Version verwendet Amazon EMR unterschiedliche Kriterien, um einen Cluster als inaktiv zu kennzeichnen. In der folgenden Tabelle wird beschrieben, wie Amazon EMR den Cluster-Leerlauf bestimmt.

Wenn Sie … Ein Cluster gilt als inaktiv, wenn …
Amazon-EMR-Versionen 5.34.0 und höher und 6.4.0 und höher
  • Es gibt keine aktiven YARN-Anwendungen

  • Die HDFS-Auslastung liegt unter 10 %

  • Es gibt keine aktiven EMR-Notebook- oder EMR-Studio-Verbindungen

  • Es werden keine Benutzeroberflächen für Cluster-Anwendungen verwendet

  • Es gibt keine ausstehenden Schritte

Amazon-EMR-Versionen 5.30.0 – 5.33.0 und 6.1.0 – 6.3.0
  • Es gibt keine aktiven YARN-Anwendungen

  • Der Cluster hat keine aktiven Spark–Aufträge

Anmerkung

Amazon EMR markiert einen Cluster als inaktiv und beendet den Cluster möglicherweise automatisch, auch wenn Sie über einen aktiven Python3-Kernel verfügen. Das liegt daran, dass bei der Ausführung eines Python3-Kernels kein Spark-Job auf dem Cluster gesendet wird. Um die automatische Terminierung mit einem Python3-Kernel zu verwenden, empfehlen wir die Verwendung von Amazon-EMR-Version 6.4.0 oder höher.

Anmerkung

Amazon-EMR-Versionen 6.4.0 und höher unterstützen eine Cluster-Datei zur Erkennung von Aktivitäten auf dem Primärknoten: /emr/metricscollector/isbusy. Wenn Sie einen Cluster verwenden, um Shell-Skripts oder Nicht-YARN-Anwendungen auszuführen, können Sie Amazon EMR regelmäßig bearbeiten oder isbusy aktualisieren, um Amazon EMR mitzuteilen, dass sich der Cluster nicht im Leerlauf befindet.

Sie können beim Erstellen eines Clusters eine automatische Terminierungsrichtlinie anhängen oder einem vorhandenen Cluster eine Richtlinie hinzufügen. Um die automatische Kündigung zu ändern oder zu deaktivieren, können Sie die Richtlinie aktualisieren oder entfernen.

Überlegungen

Berücksichtigen Sie die folgenden Features und Einschränkungen, bevor Sie eine Richtlinie zum automatischen Beenden verwenden:

  • Im Folgenden AWS-Regionen ist die automatische Kündigung von Amazon EMR mit Amazon EMR 6.14.0 und höher verfügbar:

    • Europa (Spanien) (eu-south-2)

  • Im Folgenden AWS-Regionen ist die automatische Kündigung von Amazon EMR 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 (Hyderabad) (ap-south-2)

    • Asien-Pazifik (Seoul): (ap-northeast-2)

    • Asien-Pazifik (Osaka) (ap-northeast-3)

    • Asien-Pazifik (Singapur): (ap-southeast-1)

    • Asien-Pazifik (Sydney): (ap-southeast-2)

    • Asien-Pazifik (Jakarta) (ap-southeast-3)

    • 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 (Zürich) (eu-central-2)

    • 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)

    • Israel (Tel Aviv) (il-central-1)

    • Naher Osten (VAE) (me-central-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)

  • Das Leerlauf-Timeout ist standardmäßig auf 60 Minuten (eine Stunde) eingestellt, wenn Sie keinen Wert angeben. Sie können ein minimales Timeout für den Leerlauf von einer Minute und ein maximales Timeout für den Leerlauf von 7 Tagen angeben.

  • Bei Amazon-EMR-Versionen 6.4.0 und höher ist die automatische Terminierung standardmäßig aktiviert, wenn Sie mit der Amazon-EMR-Konsole einen neuen Cluster erstellen.

  • Amazon EMR veröffentlicht hochauflösende Amazon CloudWatch Metriken, wenn Sie die automatische Terminierung für einen Cluster aktivieren. Sie können diese Metriken verwenden, um Cluster-Aktivität und Inaktivität zu verfolgen. Weitere Informationen finden Sie unter Cluster-Kapazitätsmetriken.

  • Die automatische Terminierung wird nicht unterstützt, wenn Sie Anwendungen verwenden, die nicht auf Yarn basieren, wie Presto, Trino oder. HBase

  • Um die automatische Terminierung zu verwenden, muss der Metrics-Collector-Prozess in der Lage sein, eine Verbindung zum öffentlichen API-Endpunkt für die automatische Terminierung in API Gateway herzustellen. Wenn Sie einen privaten DNS-Namen mit verwenden Amazon Virtual Private Cloud, funktioniert die automatische Terminierung nicht ordnungsgemäß. Um sicherzustellen, dass die automatische Beendigung funktioniert, empfehlen wir Ihnen, eine der folgenden Maßnahmen zu ergreifen:

  • (EMR 5.30.0 und höher) Wenn Sie die Standardregel Allow All Outbound für die primäre Sicherheitsgruppe auf 0.0.0.0/ entfernen, müssen Sie Ihrer Sicherheitsgruppe eine Regel hinzufügen, die ausgehende TCP-Konnektivität für den Servicezugriff auf Port 9443 zulässt. Die Sicherheitsgruppe für den Servicezugriff muss eingehenden Datenverkehr über TCP- und UDP-Port 53 von Ihrer primären Sicherheitsgruppe zulassen. Weitere Informationen über die Konfiguration von Sicherheitsgruppen finden Sie unter Von Amazon EMR verwaltete Sicherheitsgruppe für die primäre Instance (private Subnetze).

Berechtigungen zur Verwendung der automatischen Beendigung

Bevor Sie Richtlinien zur automatischen Kündigung für Amazon EMR anwenden und verwalten können, müssen Sie die in der folgenden Beispiel-IAM-Berechtigungsrichtlinie aufgeführten Berechtigungen den IAM-Ressourcen zuordnen, die Ihren EMR-Cluster verwalten.

{ "Version": "2012-10-17", "Statement": { "Sid": "AllowAutoTerminationPolicyActions", "Effect": "Allow", "Action": [ "elasticmapreduce:PutAutoTerminationPolicy", "elasticmapreduce:GetAutoTerminationPolicy", "elasticmapreduce:RemoveAutoTerminationPolicy" ], "Resource": "<your-resources>" } }

Eine Richtlinie zur automatischen Beendigung anhängen, aktualisieren oder entfernen

Dieser Abschnitt enthält Anweisungen, die Ihnen helfen, eine Richtlinie zur automatischen Beendigung an einen Amazon-EMR-Cluster anzuhängen, zu aktualisieren oder zu entfernen. Bevor Sie mit Richtlinien zur automatischen Beendigung arbeiten, stellen Sie sicher, dass Sie über die erforderlichen IAM-Berechtigungen verfügen. Siehe Berechtigungen zur Verwendung der automatischen Beendigung.

Console
Um eine automatische Terminierungsrichtlinie anzuhängen, 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 unter Clusterbeendigung die Option Cluster nach Leerlauf beenden aus.

  4. Geben Sie die Anzahl der Stunden und Minuten im Leerlauf an, die vergehen können, bis der Cluster automatisch beendet wird. Die standardmäßige Leerlaufzeit beträgt eine Stunde.

  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.

Um eine automatische Terminierungsrichtlinie auf einem laufenden Cluster mit der Konsole anzuhängen, zu aktualisieren oder zu entfernen
  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. Wählen oder deaktivieren Sie Automatische Beendigung aktivieren, um das Feature ein- oder auszuschalten. Wenn Sie die automatische Terminierung aktivieren, geben Sie die Anzahl der Stunden und Minuten im Leerlauf an, die vergehen können, bis der Cluster automatisch beendet wird. Wählen Sie dann zur Bestätigung Änderungen speichern aus.

AWS CLI

Bevor Sie beginnen

Bevor Sie mit Richtlinien zur automatischen Kündigung arbeiten, empfehlen wir Ihnen, auf die neueste Version von AWS CLI zu aktualisieren. Anweisungen finden Sie unter Installieren, Aktualisieren und Deinstallieren von AWS CLI.

Um eine automatische Beendigungsrichtlinie anzuhängen oder zu aktualisieren, verwenden Sie AWS CLI
  • Sie können den aws emr put-auto-termination-policy-Befehl verwenden, um eine automatische Beendigungssrichtlinie für einen Cluster anzuhängen oder zu aktualisieren.

    Im folgenden Beispiel werden 3600 Sekunden für angegeben. IdleTimeout Wenn Sie nichts angebenIdleTimeout, ist der Standardwert eine Stunde.

    aws emr put-auto-termination-policy \ --cluster-id <your-cluster-id> \ --auto-termination-policy IdleTimeout=3600
    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 (^).

    Sie können auch einen Wert für --auto-termination-policy angeben, wenn Sie den aws emr create-cluster-Befehl verwenden. Weitere Informationen zur Verwendung von Amazon EMR-Befehlen in der AWS CLI finden Sie in der AWS CLI Befehlsreferenz.

Um eine automatische Kündigungsrichtlinie zu entfernen mit dem AWS CLI
  • Verwenden Sie den aws emr remove-auto-termination-policy-Befehl, um eine automatische Beendigungsrichtlinie aus einem Cluster zu entfernen. Weitere Informationen zur Verwendung von Amazon EMR-Befehlen in der AWS CLI finden Sie in der AWS CLI Befehlsreferenz.

    aws emr remove-auto-termination-policy --cluster-id <your-cluster-id>