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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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

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

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

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

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

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

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

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