Warum wird mein EMR-Cluster nicht oder nicht früher als erwartet beendet, wenn ich eine automatische Terminierungsrichtlinie verwende?

Lesedauer: 2 Minute
0

Ich habe eine automatische Terminierungsrichtlinie für meinen Amazon-EMR-Cluster konfiguriert. Der Cluster läuft entweder weiterhin aktiv oder wird vor dem in der Richtlinie für automatische Terminierung konfiguriertes Leerlauf-Zeitlimit beendet.

Kurzbeschreibung

Wenn Sie einen EMR-Cluster erstellen, können Sie die automatische Terminierungsrichtlinie aktivieren. Die automatische Terminierungsrichtlinie beendet den Cluster nach einer bestimmten Leerlaufzeit.

Lösung

1.    Stellen Sie sicher, dass die Amazon-Elastic-Compute-Cloud-Instance-Profilrolle (Amazon EC2), EMR_EC2_DefaultRole, über die folgenden Berechtigungen verfügt. Wenn die EMR-EC2-Instanceprofilrolle nicht über diese Berechtigungen verfügt, bleibt der Cluster aktiv, auch wenn er die Inaktivitäts-Timeout-Anforderung erfüllt.

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

In den Amazon-EMR-Versionen 5.34 bis 5.36 und 6.4.0 oder höher befindet sich ein Cluster im Leerlauf, wenn Folgendes zutrifft:

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

In den Amazon-EMR-Versionen 5.30.0 bis 5.33.1 und 6.1.0 bis 6.3.0 befindet sich ein Cluster im Leerlauf, wenn Folgendes zutrifft:

  • Es gibt keine aktiven YARN-Anwendungen.
  • Die HDFS-Auslastung liegt unter 10 %.
  • Der Cluster hat keine aktiven Spark-Aufträge.

2.    Stellen Sie sicher, dass der Metrics-Collector-Prozess läuft. Der Metrics-Collector-Prozess erfasst die Metriken, um die automatische Terminierung zu bestimmen. Führen Sie die folgenden Befehle aus, um den Metrics-Collector-Prozess zu überprüfen:

ps -ef|grep metrics-collector

-oder-

systemctl status metricscollector.service

Weitere Informationen finden Sie unter Wie starte ich einen Service in Amazon EMR neu?

3.    Wenn Sie die automatische Terminierung mithilfe einer automatischen Terminierungsrichtlinie aktivieren, gibt Amazon EMR die Amazon-CloudWatch-Metrik AutoTerminationClusterIdle mit einer Granularität von einer Minute aus. Diese Metrik bewertet, ob der Cluster die Anforderungen für den Ruhezustand erfüllt. Wenn diese Metrik „1" anzeigt, befindet sich der Cluster im Leerlauf. Wenn „0" angezeigt wird, ist der Cluster immer noch aktiv.

Sehen Sie sich die CloudWatch-Metriken des EMR-Clusters an und stellen Sie sicher, dass die CloudWatch-Metrik AutoTerminationIsCluseterIdle im Cluster kontinuierlich auf „1" steht. Wenn es kontinuierlich „1" ist, ist der Cluster für die automatische Terminierung qualifiziert.


Ähnliche Informationen

Verwenden einer Richtlinie zur automatischen Terminierung

Metriken mit CloudWatch überwachen

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr