為什麼當我使用自動終止政策時,我的 EMR 叢集未終止或比預期更早終止?
上次更新日期:2022 年 12 月 23 日
我為我的 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」,則叢集符合自動終止資格。