当我使用自动终止策略时,为什么我的 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 或更高版本中,当以下条件为 true 时,集群将会变为空闲状态:

  • 没有活动的 YARN 应用程序。
  • HDFS 利用率低于 10%。
  • 没有活动的 EMR 笔记本或 EMR Studio 连接。
  • 没有正在使用种的集群上应用程序用户界面。

在 Amazon EMR 版本 5.30.0 到 5.33.1 及 6.1.0 到 6.3.0中,当以下条件为 true 时,集群将会变为空闲状态:

  • 没有活动的 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 metric is continuously 是否持续为“1”。如果持续为“1”,则集群符合自动终止条件。


相关信息

使用自动终止策略

使用 CloudWatch 监控指标

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