将工作提交到 Amazon EMR 集群时取消步骤 - Amazon EMR

将工作提交到 Amazon EMR 集群时取消步骤

在向集群提交工作时,您可以从 AWS Management Console、AWS CLI 或 Amazon EMR 取消待处理和运行中的步骤。API。

Console
使用控制台取消步骤
  1. 登录 AWS 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

CLI
使用 AWS CLI 取消
  • 使用 aws emr cancel-steps 命令指定集群和要取消的步骤。以下示例演示了用于取消两个步骤的 AWS 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 信号;但是,异步进程不受影响。