终止处于启动、运行或等待状态的 Amazon EMR 集群
警告
已终止的 EMR 集群不可恢复。移除之前,请确保不再需要 HDFS 或 Jupyter Notebook 上的资源和任何数据。集群终止时,HDFS 数据会丢失。
此部分介绍终止集群的方法。有关启用终止保护和自动终止集群的信息,请参阅控制 Amazon EMR 集群终止。您可以在 STARTING、RUNNING 或 WAITING 状态下终止集群。WAITING 状态下的集群必须终止,否则会无限期地运行,给您的账户产生费用。您可以终止无法离开 STARTING 状态或不能完成步骤的集群。
如果要终止已开启终止保护的集群,则必须首先禁用终止保护,然后才能终止集群。可以使用控制台或 Amazon CLI 来终止集群,或使用 TerminateJobFlows API 以编程方式终止集群。
根据集群配置,集群完全终止并释放已分配的资源 (如 EC2 实例) 可能需要 5 至 20 分钟。
注意
您无法重新启动已终止的集群,但可以克隆已终止的集群,将其配置重用于新集群。有关更多信息,请参阅 使用控制台克隆 Amazon EMR 集群。
重要
Amazon EMR 使用 Amazon EMR 服务角色 和 AWSServiceRoleForEMRCleanup 角色来清理账户中不再使用的集群资源,例如 Amazon EC2 实例。您必须在角色策略包含删除或终止资源所需的操作。否则,Amazon EMR 将无法执行这些清理操作,并且集群上剩余的未使用资源可能会产生费用。
使用控制台终止集群
您可以使用 Amazon EMR 控制台终止一个或多个集群。在控制台中终止集群的步骤根据是否打开了终止保护而有所不同。要终止已保护的集群,您必须首先禁用终止保护。
使用 Amazon CLI 终止集群
使用 Amazon CLI 终止不受保护的集群
要使用 Amazon CLI 终止不受保护的集群,请使用带 --cluster-ids 参数的 terminate-clusters 子命令。
-
键入以下命令以终止单个集群,将
j-3KVXXXXXXX7UG替换为您的集群 ID。aws emr terminate-clusters --cluster-idsj-3KVXXXXXXX7UG要终止多个集群,请键入以下命令,并将
j-3KVXXXXXXX7UG和j-WJ2XXXXXX8EU替换为您的集群 ID。aws emr terminate-clusters --cluster-idsj-3KVXXXXXXX7UGj-WJ2XXXXXX8EU有关在 Amazon CLI 中使用 Amazon EMR 命令的更多信息,请参阅https://docs.amazonaws.cn/cli/latest/reference/emr。
使用 Amazon CLI 终止受保护的集群
要使用 Amazon CLI 终止受保护的集群,首先请使用带 modify-cluster-attributes 参数的 --no-termination-protected 子命令禁用终止保护。然后使用带 terminate-clusters 参数的 --cluster-ids 子命令终止该集群。
-
键入以下命令以禁用终止保护,将
j-3KVTXXXXXX7UG替换为您的集群 ID。aws emr modify-cluster-attributes --cluster-idj-3KVTXXXXXX7UG--no-termination-protected -
要终止集群,请键入以下命令并将
j-3KVXXXXXXX7UG替换为您的集群 ID。aws emr terminate-clusters --cluster-idsj-3KVXXXXXXX7UG要终止多个集群,请键入以下命令,并将
j-3KVXXXXXXX7UG和j-WJ2XXXXXX8EU替换为您的集群 ID。aws emr terminate-clusters --cluster-idsj-3KVXXXXXXX7UGj-WJ2XXXXXX8EU有关在 Amazon CLI 中使用 Amazon EMR 命令的更多信息,请参阅https://docs.amazonaws.cn/cli/latest/reference/emr。
使用 API 终止集群
TerminateJobFlows 操作结束步骤处理,从 Amazon EC2 向 Amazon S3(如果已配置)上载任何日志数据,并终止 Hadoop 集群。如果您在 KeepJobAliveWhenNoSteps 请求中将 False 设置为 RunJobFlows,集群也可以自动终止。
您可以使用此操作终止单个集群或按照集群 ID 终止一系列集群。
有关 TerminateJobFlows 所独有的输入参数的更多信息,请参阅 TerminateJobFlows。有关该请求中通用参数的更多信息,请参见通用请求参数。