终止集群 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

终止集群

此部分介绍终止集群的方法。有关启用终止保护和自动终止集群的信息,请参阅控制集群终止。您可以在 STARTINGRUNNINGWAITING 状态下终止集群。WAITING 状态下的集群必须终止,否则会无限期地运行,给您的账户产生费用。您可以终止无法离开 STARTING 状态或不能完成步骤的集群。

如果要终止已开启终止保护的集群,则必须首先禁用终止保护,然后才能终止集群。可以使用控制台或 Amazon CLI 来终止集群,或使用 TerminateJobFlows API 以编程方式终止集群。

根据集群配置,集群完全终止并释放已分配的资源 (如 EC2 实例) 可能需要 5 至 20 分钟。

注意

您无法重新启动已终止的集群,但可以克隆已终止的集群,将其配置重用于新集群。有关更多信息,请参阅使用控制台克隆集群

重要

Amazon EMR 使用 Amazon EMR 服务角色AWSServiceRoleForEMRCleanup 角色来清理账户中不再使用的集群资源,例如 Amazon EC2 实例。您必须在角色策略包含删除或终止资源所需的操作。否则,Amazon EMR 将无法执行这些清理操作,并且集群上剩余的未使用资源可能会产生费用。

使用控制台终止集群

您可以使用 Amazon EMR 控制台终止一个或多个集群。在控制台中终止集群的步骤根据是否打开了终止保护而有所不同。要终止已保护的集群,您必须首先禁用终止保护。

New console
使用新控制台终止集群
  1. 登录 Amazon Web Services Management Console 并打开 Amazon EMR 控制台,网址为 https://console.aws.amazon.com/emr

  2. 选择 Clusters(集群),然后选择要终止的集群。

  3. Actions(操作)下拉菜单下,选择 Terminate cluster(终止集群)以打开 Terminate cluster(终止集群)提示。

  4. 出现提示时,选择 Terminate(终止)。根据集群配置,终止可能需要 5 至 10 分钟。有关如何终止 Amazon EMR 集群的更多信息,请参阅 终止集群

Old console
使用旧控制台,在终止保护关闭的情况下终止集群
  1. 导航到 Amazon EMR 新控制台,然后从侧面导航栏中选择切换到旧控制台。有关切换到旧控制台后预期情况的更多信息,请参阅 Using the old console

  2. 选择要终止的集群。您可以选择多个集群,然后同时终止它们。

  3. 选择 Terminate (终止)

  4. 系统提示时,选择 Terminate (终止)

    Amazon EMR 终止集群中的实例并停止保存日志数据。

使用旧控制台,在终止保护打开的情况下终止集群
  1. 导航到 Amazon EMR 新控制台,然后从侧面导航栏中选择切换到旧控制台。有关切换到旧控制台后预期情况的更多信息,请参阅 Using the old console

  2. Cluster List (集群列表) 页面中,选择要终止的集群。您可以选择多个集群,然后同时终止它们。

  3. 选择 Terminate (终止)

  4. 系统提示时,选择 Change (更改) 以关闭终止保护。如果您选择了多个集群,请选择 Turn off all (关闭所有) 以同时禁用所有集群的终止保护。

  5. Terminate clusters (终止集群) 对话框中,对于 Termination Protection (终止保护),选择 Off (关闭),然后单击复选标记进行确认。

  6. 单击 Terminate (终止)

    Amazon EMR 终止集群中的实例并停止保存日志数据。

使用 Amazon CLI 终止集群

使用 Amazon CLI 终止不受保护的集群

要使用 Amazon CLI 终止不受保护的集群,请使用带 --cluster-ids 参数的 terminate-clusters 子命令。

  • 键入以下命令以终止单个集群,将 j-3KVXXXXXXX7UG 替换为您的集群 ID。

    aws emr terminate-clusters --cluster-ids j-3KVXXXXXXX7UG

    要终止多个集群,请键入以下命令,并将 j-3KVXXXXXXX7UGj-WJ2XXXXXX8EU 替换为您的集群 ID。

    aws emr terminate-clusters --cluster-ids j-3KVXXXXXXX7UG j-WJ2XXXXXX8EU

    有关在 Amazon CLI 中使用 Amazon EMR 命令的更多信息,请参阅https://docs.amazonaws.cn/cli/latest/reference/emr

使用 Amazon CLI 终止受保护的集群

要使用 Amazon CLI 终止受保护的集群,首先请使用带 --no-termination-protected 参数的 modify-cluster-attributes 子命令禁用终止保护。然后使用带 terminate-clusters 参数的 --cluster-ids 子命令终止该集群。

  1. 键入以下命令以禁用终止保护,将 j-3KVTXXXXXX7UG 替换为您的集群 ID。

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --no-termination-protected
  2. 要终止集群,请键入以下命令并将 j-3KVXXXXXXX7UG 替换为您的集群 ID。

    aws emr terminate-clusters --cluster-ids j-3KVXXXXXXX7UG

    要终止多个集群,请键入以下命令,并将 j-3KVXXXXXXX7UGj-WJ2XXXXXX8EU 替换为您的集群 ID。

    aws emr terminate-clusters --cluster-ids j-3KVXXXXXXX7UG j-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。有关该请求中通用参数的更多信息,请参见通用请求参数