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

取消步骤

您可以通过 Amazon Web Services Management Console、Amazon CLI 或 Amazon EMR API 取消待处理和正在运行的步骤。

注意

我们重新设计了 Amazon EMR 控制台,以便其易于使用。请参阅 控制台中的新增功能,以了解有关新旧控制台体验差异的信息。

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

  2. 在左侧导航窗格中的 EMR on EC2 下,选择 Clusters(集群),然后选择要更新的集群。

  3. 在集群详细信息页面的 Steps(步骤)选项卡上,选中要取消的步骤旁边的复选框。选择 Actions(操作)下拉菜单,然后选择 Cancel steps(取消步骤)。

  4. Cancel the step(取消步骤)对话框中,选择取消步骤并等待退出,或者取消步骤并强制退出。然后,选择 Confirm(确认)

  5. Steps(步骤)表中的步骤状态更改为 CANCELLED

Old console
使用旧控制台取消步骤
  1. 导航到 Amazon EMR 新控制台,然后从侧面导航栏中选择切换到旧控制台。有关切换到旧控制台后预期情况的更多信息,请参阅 Using the old console

  2. Cluster Details (集群详细信息) 页面上,展开 Steps (步骤)部分。

  3. 对于要取消的每个步骤,请从 Steps (步骤) 列表中选择步骤。然后选择 Cancel step (取消步骤)

  4. Cancel step (取消步骤) 对话框中,保留默认选项 Cancel the step and wait for it to exit (取消步骤并等待其退出)。如果要立即结束步骤而不等待任何进程完成,请选择 Cancel the step and force it to exit (取消步骤并强制其退出)

  5. 选择 Cancel step (取消步骤)

CLI
使用 Amazon CLI 取消
  • 使用 aws emr cancel-steps 命令指定集群和要取消的步骤。以下示例演示了用于取消两个步骤的 Amazon CLI 命令。

    aws emr cancel-steps --cluster-id j-2QUAXXXXXXXXX \ --step-ids s-3M8DXXXXXXXXX s-3M8DXXXXXXXXX \ --step-cancellation-option SEND_INTERRUPT

使用 Amazon EMR 版本 5.28.0,可以在取消步骤时选择以下两个取消选项之一作为 StepCancellationOption 参数。

  • SEND_INTERRUPT– 这是默认选项。当收到步骤取消请求时,EMR 会向步骤发送 SIGTERM 信号。将 SIGTERM 信号处理程序添加到您的步骤逻辑,以捕获此信号并终止子步骤进程,或等待它们完成处理。

  • TERMINATE_PROCESS – 选择此选项后,EMR 会向步骤及其所有子进程发送 SIGKILL 信号,然后这些进程会立即终止。

取消步骤的注意事项
  • 取消正在运行的步骤或待处理步骤将从活动步骤计数中删除该步骤。

  • 假设没有更改 stepConcurrencyLevel,取消正在运行的步骤并不允许待处理步骤开始运行。

  • 取消正在运行的步骤不会触发步骤 ActionOnFailure

  • 对于 EMR 5.32.0 及更高版本,SEND_INTERRUPT StepCancellationOption 会向步骤子进程发送 SIGTERM 信号。您应该注意此信号并正常进行清除和关闭。TERMINATE_PROCESS StepCancellationOption 向步骤子进程及其所有后代进程发送 SIGKILL 信号;但是,异步进程不受影响。