如何在Amazon EMR中终止/删除作业流程?

Adv*_*ait 3 command-line-interface amazon-s3 amazon-web-services amazon-emr elastic-map-reduce

我使用Amazon Elastic MapReduce(Amazon EMR)创建了一个工作流程,由于某些未知原因,它失败了.然后我尝试通过AWS管理控制台终止作业流程,但禁用了"终止"按钮.然后我尝试使用CLI终止作业流程,它显示作业流程已终止,但在通过CLI以及管理控制台的Elastic MapReduce选项卡中看到作业流列表时仍显示为失败.

请让我知道如何从列表中删除作业流程.

当我尝试调试作业流程时,它显示两个错误:

  1. 调试功能不适用于此作业流,因为您在创建Amazon S3日志路径时未指定它.
  2. 作业流失败的原因:无效的存储桶名称'testBucket':存储桶名称必须仅包含小写字母,数字,句点(.)和短划线( - ).

Ste*_*pel 8

你在这里遇到两个问题:

工作流程失败

首先,可以立即纠正触发Amazon EMR作业流终止状态的问题,这可能会让您感到恼火:

我使用Amazon Elastic MapReduce(Amazon EMR)创建了一个工作流程,由于某些未知原因,它失败了.

实际上可以从您提供的列表中的错误2推断出作业流失败的原因:

作业流失败的原因:无效的存储桶名称'testBucket':存储桶名称必须仅包含小写字母,数字,句点(.)和短划线( - ).[强调我的]

您的存储桶名称'testBucket'明显违反了规定的小写命名要求,因此仅将名称更改为小写(例如'testbucket'或'test-bucket')将允许您根据需要运行作业流程.

终止国家

此外,工作流终止状态可能完全没有问题.虽然在极少数情况下可能会发生这种情况,但Amazon EC2实例或其他资源实际上仍处于某种状态,您所看到的一切都是完全合理且正常的:

  • 首先完全终止作业流程可能需要一段时间,请参阅TerminateJobFlows:

    对TerminateJobFlows的调用是异步的.根据作业流的配置,作业流可能需要5-20分钟才能完全终止并释放分配的资源,例如Amazon EC2实例.[强调我的]

  • 即使终止的EC2资源也可能会列出相当长的一段时间,例如,请参阅AWS团队对EC2实例处于"已终止"状态的响应:

    终止意味着"永远消失"; 虽然有时它会在用户界面中闲逛几个小时.[强调我的]

我经常见证EC2实例的这种行为,这种情况通常在几个小时之后才真正从实例列表中消失.因此,我怀疑已终止的工作流程已从您的工作流程列表中消失.

更新

我实际上确实怀疑这是事实,但我仍然无法在官方文件中找到相关信息; 然而,显然已终止的工作流程可能会以这种或那种方式显示长达两个月甚至,例如,请参阅AWS团队对Console未显示超过一个月的工作的响应:

虽然控制台列出了所有正在运行的作业流程,但它仅显示上个月启动的已终止作业流程.或者,您可以使用Ruby CLI 列出在过去两个月中使用以下命令启动的所有作业流程:[...] [emphasis mine]