使用 Amazon EMR 叢集清除的自動終止政策 - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Amazon EMR 叢集清除的自動終止政策

自動終止政策可讓您協調叢集清除,而不需要監控和手動終止未使用的叢集。將自動終止政策新增至叢集時,您可以指定叢集應自動關閉之前的閒置時間量。

視發行版本而定,Amazon EMR 會使用不同的標準將叢集標記為閒置。下表概述 Amazon EMR 如何確定叢集閒置。

如果使用... 叢集視為閒置的條件...
Amazon EMR 5.34.0 及更新版本,以及 6.4.0 及更新版本
  • 沒有作用中的 YARN 應用程式

  • HDFS 使用率低於 10%

  • 沒有作用中的 EMR Notebooks 或 EMR Studio 連線

  • 沒有正在使用的叢集上應用程式使用者介面

  • 沒有待處理的步驟

Amazon EMR 版本 5.30.0 - 5.33.0 和 6.1.0 - 6.3.0
  • 沒有作用中的 YARN 應用程式

  • 叢集沒有作用中的 Spark 作業

注意

Amazon EMR 會將叢集標記為閒置,即使您具有作用中的 Python3 核心,也可能會自動終止叢集。這是因為執行 Python3 核心不會在叢集上提交 Spark 作業。若要將自動終止與 Python3 核心搭配使用,建議您使用 Amazon EMR 6.4.0 版或更新版本。

注意

Amazon EMR 6.4.0 及更新版本支援叢集上的檔案,以偵測主節點上的活動:/emr/metricscollector/isbusy。使用叢集執行 Shell 指令碼或非 YARN 應用程式時,您可以定期觸控或更新 isbusy 以告知 Amazon EMR 此叢集未閒置。

您可以在建立叢集時附接自動終止政策,或將政策新增至現有叢集。若要變更或停用自動終止,您可以更新或移除政策。

考量事項

使用自動終止政策之前,請考慮下列功能和限制:

  • 在下列內容中 AWS 區域,Amazon EMR 自動終止可與 Amazon EMR 6.14.0 及更高版本搭配使用:

    • 歐洲 (西班牙) (eu-south-2)

  • 在下列內容中 AWS 區域,Amazon EMR 自動終止可與 Amazon EMR 5.30.0 和 6.1.0 及更高版本搭配使用:

    • 美國東部 (維吉尼亞北部) (us-east-1)

    • 美國東部 (俄亥俄) (us-east-2)

    • 美國西部 (奧勒岡) (us-west-2)

    • 美國西部 (加利佛尼亞北部) (us-west-1)

    • 非洲 (開普敦) (af-south-1)

    • 亞太區域 (香港) (ap-east-1)

    • 亞太區域 (孟買) (ap-south-1)

    • 亞太區域 (海德拉巴) (ap-south-2)

    • 亞太區域 (首爾) (ap-northeast-2)

    • 亞太區域 (大阪) (ap-northeast-3)

    • 亞太區域 (新加坡) (ap-southeast-1)

    • 亞太區域 (雪梨) (ap-southeast-2)

    • 亞太區域 (雅加達) (ap-southeast-3)

    • 亞太區域 (東京) (ap-northeast-1)

    • 加拿大 (中部) (ca-central-1)

    • 南美洲 (聖保羅) (sa-east-1)

    • 歐洲 (法蘭克福) (eu-central-1)

    • 歐洲 (蘇黎世) (eu-central-2)

    • 歐洲 (愛爾蘭) (eu-west-1)

    • 歐洲 (倫敦) (eu-west-2)

    • 歐洲 (米蘭) (eu-south-1)

    • 歐洲 (巴黎) (eu-west-3)

    • 歐洲 (斯德哥爾摩) (eu-north-1)

    • 以色列 (特拉維夫) (il-central-1)

    • 中東 (阿拉伯聯合大公國) (me-central-1)

    • 中國 (北京) (cn-north-1)

    • 中國 (寧夏) (cn-northwest-1)

    • AWS GovCloud (美國東部) (us-gov-east-1)

    • AWS GovCloud (美國西部) (us-gov-west-1)

  • 未指定時間量時,閒置逾時預設為 60 分鐘 (一小時)。您可以指定最短閒置逾時為一分鐘,最長閒置逾時為 7 天。

  • 透過 Amazon EMR 6.4.0 及更新版本,當您使用 Amazon EMR 主控台建立新叢集時,依預設啟用自動終止。

  • 當您為叢集啟用自動終止時,Amazon EMR 會發佈高解析度 Amazon CloudWatch 指標。您可以使用這些指標,來追蹤叢集活動和閒置。如需詳細資訊,請參閱叢集容量指標

  • 當您使用非 YARN 型應用程式 (例如 Presto、Trino 或 HBase) 時,不支援自動終止。

  • 若要使用自動終止,metrics-collector 程序必須能夠連接至公有 API 端點,才能在 API Gateway 中自動終止。如果您搭配私有 DNS 名稱使用 Amazon Virtual Private Cloud,自動終止將無法正常運作。為了確保自動終止正常運作,建議您採取下列其中一個動作:

  • (EMR 5.30.0 及更新版本) 如果您將主要安全群組的預設允許所有傳出規則移除為 0.0.0.0/,則必須新增規則以允許安全群組的傳出 TCP 連線,以便在連接埠 9443 上進行服務存取。用於服務存取的安全群組也必須允許來自主要安全群組的連接埠 9443 上的輸入 TCP 流量。如需有關設定安全群組的詳細資訊,請參閱適用於主要執行個體的 Amazon EMR 受管安全群組 (私有子網路)

使用自動終止的許可

在套用和管理 Amazon EMR 的自動終止政策之前,您需要先將下列範例 IAM 許可政策中列出的許可附接至管理 EMR 叢集的 IAM 資源。

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

附接、更新或移除自動終止政策

本章節包含可協助您從 Amazon EMR 叢集附接、更新或移除自動終止政策的指示。在使用自動終止政策之前,確保您具有必要的 IAM 許可。請參閱 使用自動終止的許可

Console
使用主控台建立叢集時連接自動終止政策
  1. 登入 AWS Management Console,並在 https://console.aws.amazon.com/emr:// 開啟 Amazon EMR 主控台。

  2. 在左側導覽窗格中的 EC2 上的 EMR 下,選擇叢集,然後選擇建立叢集

  3. 叢集終止下,選取閒置時間後終止叢集

  4. 指定叢集自動終止之前所花費的閒置小時數和分鐘數。預設閒置時間為 1 小時。

  5. 選擇適用於您的叢集的任何其他選項。

  6. 若要啟動您的叢集,請選擇建立叢集

使用主控台在執行中的叢集上連接、更新或移除自動終止政策
  1. 登入 AWS Management Console,並在 https://https://console.aws.amazon.com/emr 開啟 Amazon EMR 主控台。

  2. 在左側導覽窗格中的 EC2 上的 EMR 下,選擇叢集,然後選取您要更新的叢集。

  3. 在叢集詳細資訊頁面的屬性標籤上,尋找叢集終止,然後選取編輯

  4. 選取或清除啟用自動終止以開啟或關閉此功能。如果開啟自動終止,請指定叢集自動終止之前所花費的閒置小時數和分鐘數。然後選擇儲存變更以確認。

AWS CLI

開始之前

在您使用自動終止政策之前,建議您更新為最新版本的 AWS CLI。如需說明,請參閱安裝、更新和解除安裝 AWS CLI

使用 AWS CLI附接或更新自動終止政策
  • 您可以使用 aws emr put-auto-termination-policy 命令在叢集上附接或更新自動終止政策。

    下列範例會為 IdleTimeout 指定 3,600 秒。如果您未指定 IdleTimeout,此值預設為一小時。

    aws emr put-auto-termination-policy \ --cluster-id <your-cluster-id> \ --auto-termination-policy IdleTimeout=3600
    注意

    包含 Linux 行接續字元 (\) 是為了提高可讀性。它們可以在 Linux 命令中移除或使用。對於 Windows,請將其移除或取代為插入符號 (^)。

    您也可以在使用 aws emr create-cluster 命令時指定 --auto-termination-policy 的值。如需在 中使用 Amazon EMR 命令的詳細資訊 AWS CLI,請參閱 AWS CLI 命令參考

使用 移除自動終止政策 AWS CLI
  • 使用 aws emr remove-auto-termination-policy 命令從叢集移除自動終止政策。如需在 中使用 Amazon EMR 命令的詳細資訊 AWS CLI,請參閱 AWS CLI 命令參考

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