map - 如何终止在 Amazon EMR 上运行的 map task ?

标签 map hadoop amazon emr

我有一个作业在 32 个 spot 实例上使用 Hadoop 0.20 运行。它已经运行了 9 个小时,没有出现任何错误。它在那段时间处理了 3800 个任务,但我注意到只有两个任务似乎被卡住了,并且已经单独运行了几个小时(显​​然是响应,因为它们没有超时)。这些任务通常不会超过 15 分钟。我不想失去所有已经完成的工作,因为这会花费我很多钱。我真的很想终止这两个任务并让 Hadoop 重新分配它们或将它们计为失败。在它们停止之前,我无法从其他 3798 个映射中获取 reduce 结果!

但我不知道该怎么做。我考虑过尝试找出哪些实例正在运行任务,然后终止这些实例,但是

  1. 我不知道如何找出哪些实例是罪魁祸首
  2. 恐怕会产生意想不到的影响。

我如何终止单个 map task ?

最佳答案

通常,在 Hadoop 集群上,您可以通过发出以下命令终止特定任务:

hadoop job -kill-task [attempt_id]

这将杀死给定的 map task 并在不同的上重新提交它 具有新 ID 的节点。

要获取 attemp_id,请在 Jobtrackerweb UI 上导航到 map task 有问题,单击它并记下它的 ID(例如:attempt_201210111830_0012_m_000000_0)

关于map - 如何终止在 Amazon EMR 上运行的 map task ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12874168/

相关文章:

amazon-web-services - API 网关更改端点 URL

map - 从 garmin 读取信息

hadoop - 无法获取行中array <struct <string,string >>的avro数据

bash - 在 bash 脚本中使用 expr 时 hadoop 流式传输出错

amazon-web-services - 如何检查谁停止了 EC2 实例?

linux - 在 32 位操作系统上运行 64 位 jvm

map - F# - 像对待 map 一样对待函数

map - OCaml 有通用的 map()/reduce() 函数吗?

java - 带有列表作为单个键值的属性文件

hadoop - HDFS未格式化,但没有错误