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

取消步骤

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

使用Amazon Web Services Management Console取消步骤

  1. Amazon EMR 控制台中的 Cluster List (集群列表) 页面上,选择集群的链接。

  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 (取消步骤)

使用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 信号;但是,异步进程不受影响。