3

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

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

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

  1. 调试功能不适用于此作业流程,因为您在创建 Amazon S3 日志路径时未指定它。
  2. 作业流程失败,原因是:无效的存储桶名称“testBucket”:存储桶名称只能包含小写字母、数字、句点 (.) 和破折号 (-)。
4

2 回答 2

8

您在这里面临两个问题:

作业流失败

首先也是最重要的,触发Amazon EMR作业流程终止状态的问题让您感到恼火,可以立即解决:

我使用 Amazon Elastic MapReduce (Amazon EMR) 创建了一个作业流,但由于某些未知原因而失败。

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

作业流程失败,原因是:无效的存储桶名称“testBucket”:存储桶名称只能包含小写字母、数字、句点 (.) 和短划线 (-)。[强调我的]

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

终止状态

此外,Job Flow终止状态大概是没有问题的。虽然在极少数情况下可能会发生Amazon EC2实例或其他资源实际上卡在某种状态的情况,但您所看到的乍一看是完全合理和正常的:

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

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

  • 甚至终止的 EC2 资源也可能会列出很长一段时间,例如 AWS 团队对EC2 实例陷入“终止”状态的响应:

    终止的意思是“永远消失了”;尽管有时它会在 UI 中停留数小时[强调我的]

我经常看到 EC2 实例的这种行为,它通常会在几个小时后从实例列表中消失。因此,我怀疑终止的工作流程同时从您的工作流程列表中消失了。

更新

我其实已经怀疑确实是这种情况,但在官方文档中仍然无法找到相关信息;但是,显然终止的工作流可能会以一种或另一种方式可见长达两个月,例如,参见 AWS 团队对Console 的响应未显示超过一个月的工作

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

于 2012-04-14T13:03:37.130 回答
0

如果您的应用程序在 hadoop yarn 上运行,您可以随时使用 yarn 来管理您的应用程序:

yarn application -list
yarn application -kill application_name
于 2016-12-14T08:22:50.170 回答