我在32个现场实例上使用Hadoop 0.20运行。它已经运行了9个小时,没有任何错误。在此期间它已经处理了3800个任务,但我注意到只有两个任务似乎被卡住并且已经独自运行了几个小时(显然是因为他们没有超时而做出响应)。这些任务通常不会超过15分钟。我不想失去已经完成的所有工作,因为它花了我很多钱。我真的只想杀死这两个任务并让Hadoop重新分配它们或者只是将它们视为失败。直到他们停止,我无法从其他3798地图中获得减少结果!
但我无法弄清楚如何做到这一点。我已经考虑过要弄清楚哪些实例正在运行任务,然后终止这些实例,但是
如何杀死单个地图任务?
答案 0 :(得分:6)
通常,在Hadoop集群上,您可以通过发出以下命令来终止特定任务:
hadoop job -kill-task [attempt_id]
这将终止给定的map任务并在另一个上重新提交 具有新ID的节点。
让attemp_id
导航Jobtracker
的{{1}}到地图任务
有问题,点击它并记下它的ID(例如:attempt_201210111830_0012_m_000000_0)
答案 1 :(得分:1)
如Lorand所述,ssh到主节点,并执行:
bin/hadoop job -list
bin/hadoop job –kill <JobID>