本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用自动终止策略进行 Amazon EMR 集群清理
自动终止策略允许您编排集群清理,而无需监控和手动终止未使用的集群。向集群添加自动终止策略时,您可以指定空闲时间,在此时间之后集群应自动关闭。
根据发布版本,Amazon EMR 使用不同的条件将集群标记为空闲。下表概述了 Amazon EMR 如何确定集群空闲状态。
当您使用以下应用程序时: | 当符合以下条件时,集群被视为处于空闲状态: |
---|---|
Amazon EMR 5.34.0 及更高版本、6.4.0 及更高版本 |
|
Amazon EMR 版本 5.30.0 - 5.33.0 和 6.1.0 - 6.3.0 |
注意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 区域,亚马逊 EMR 6.14.0 及更高版本支持亚马逊 EMR 自动终止:
-
欧洲(西班牙)(eu-south-2)
-
-
在下文中 AWS 区域,亚马逊 EMR 5.30.0 和 6.1.0 及更高版本支持亚马逊 EMR 自动终止:
美国东部(弗吉尼亚州北部)(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 分钟(1 小时)。您可以指定最小空闲超时为 1 分钟,最长空闲超时时间为 7 天。
-
在 Amazon EMR 6.4.0 及更高版本中,当您使用 Amazon EMR 控制台创建新集群时,默认情况下会启用自动终止。
-
当您为集群启用自动终止功能时,Amazon EMR 会发布高分辨率 Amazon CloudWatch 指标。您可以使用这些指标来跟踪集群的活动和空闲状态。有关更多信息,请参阅 集群容量指标。
-
当您使用非基于 Yarn 的应用程序(例如 Presto、Trino 或)时,不支持自动终止。 HBase
-
要使用自动终止,指标收集器进程必须能够连接到公有 API 端点,以便在 API Gateway 中执行自动终止。如果您将私有 DNS 名称与一起使用 Amazon Virtual Private Cloud,则自动终止将无法正常运行。为确保自动终止正常运行,我们建议您执行以下操作之一:
-
从您的 Amazon VPC 中删除 API Gateway 接口 VPC 终端节点。
-
请按照为什么从 VPC 连接我的 API Gateway 时会出现 HTTP 403 禁止错误? APIs 中的说明进行
操作 禁用私有 DNS 名称设置。 -
在您的私有子网中启动集群。有关更多信息,请参阅 私有子网 中的主题。
-
-
对于 EMR 5.30.0 及更高版本,如果您将主要安全组默认的 Allow All(允许所有)出站规则删除为 0.0.0.0/,则您必须添加一条规则,以允许出站 TCP 连接到安全组,从而在端口 9443 上进行服务访问。您的服务访问安全组应允许来自主要安全组端口 9443 上的入站 TCP 流量。有关配置安全组的更多信息,请参阅适用于主实例(私有子网)的 Amazon EMR 托管安全组。
使用自动终止的权限
您需要将以下示例 IAM 权限策略中列出的权限附加到管理您的 EMR 集群的 IAM 资源,然后才能应用和管理 Amazon EMR 的自动终止策略。
{ "Version": "2012-10-17", "Statement": { "Sid": "AllowAutoTerminationPolicyActions", "Effect": "Allow", "Action": [ "elasticmapreduce:PutAutoTerminationPolicy", "elasticmapreduce:GetAutoTerminationPolicy", "elasticmapreduce:RemoveAutoTerminationPolicy" ], "Resource": "
<your-resources>
" } }
附加、更新或删除自动终止策略
本部分包括从 Amazon EMR 集群附加、更新或删除自动终止策略的说明。在使用自动终止策略之前,请确保您有必要的 IAM 权限。请参阅 使用自动终止的权限。