為什麼當我使用自動終止政策時,我的 EMR 叢集未終止或比預期更早終止?

1 分的閱讀內容
0

我為我的 Amazon EMR 叢集設定了自動終止政策。叢集會持續以作用中狀態執行,或在自動終止政策中設定的閒置逾時之前提早終止。

簡短說明

建立 EMR 叢集時,您可以開啟自動終止政策。自動終止政策會在特定的閒置時間後終止叢集。

解決方案

1.    請確定 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體設定檔角色 EMR_EC2_DefaultRole 具有以下權限。如果 EMR EC2 執行個體設定檔角色不具有這些權限,即使叢集符合閒置逾時要求,仍會維持作用中狀態。

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

在 Amazon EMR 版本 5.34 到 5.36 和 6.4.0 或更新版本中,當下列情況成立時,叢集會處於閒置狀態:

  • 沒有作用中的 YARN 應用程式。
  • HDFS 使用率低於 10%。
  • 沒有作用中的 EMR 筆記本或 EMR Studio 連線。
  • 沒有使用中的叢集上應用程式使用者介面。

在 Amazon EMR 版本 5.30.0 到 5.33.1 及 6.1.0 到 6.3.0 中,當下列情況成立時,叢集會處於閒置狀態:

  • 沒有作用中的 YARN 應用程式。
  • HDFS 使用率低於 10%。
  • 叢集沒有作用中的 Spark 任務。

2.    確認指標收集器程序正在執行中。指標收集器程序會收集指標以判定自動終止的時機。執行下列命令以檢查指標收集器程序:

ps -ef|grep metrics-collector

-或-

systemctl status metricscollector.service

如需詳細資訊,請參閱如何在 Amazon EMR 中重新啟動服務?

3.    當您使用自動終止政策開啟自動終止時,Amazon EMR 會以一分鐘的精細度發出 AutoTerminationClusterIdle Amazon CloudWatch 指標。此指標會評估叢集是否符合閒置狀態需求。如果此指標顯示「1」,則表示叢集處於閒置狀態。如果顯示「0」,則表示叢集仍處於作用中狀態。

檢視 EMR 叢集的 CloudWatch 指標,並確認叢集的 AutoTerminationisCluseterIdle CloudWatch 指標是否持續為「1」。如果持續為「1」,則叢集符合自動終止資格。


相關資訊

使用自動終止政策

使用 CloudWatch 監控指標

AWS 官方
AWS 官方已更新 1 年前