怎么杀Hadoop作业(how to kill hadoop jobs)

2019-06-26 06:26发布

我想自动杀死我的所有Hadoop作业时,我的代码遇到未处理的异常。 我想知道什么是做的最好的做法呢?

谢谢

Answer 1:

根据不同的版本,这样做:

版本<2.3.0

杀一个Hadoop的工作:

hadoop job -kill $jobId

你可以得到所有的jobId正在做的一个列表:

hadoop job -list

版本> = 2.3.0

杀一个Hadoop的工作:

yarn application -kill $ApplicationId

你可以得到所有的applicationID在做的一个列表:

yarn application -list


Answer 2:

folloing命令的使用折旧

hadoop job -list
hadoop job -kill $jobId

考虑使用

mapred job -list
mapred job -kill $jobId


Answer 3:

运行list显示所有的工作,然后在适当的命令中使用的JobID /的applicationID。

杀mapred工作:

mapred job -list
mapred job -kill <jobId>

杀纱作业:

yarn application -list
yarn application -kill <ApplicationId>


Answer 4:

未处理的异常会(假设它是可重复的类似错误的数据,而不是读取特定的数据节点的错误)反正最终无法完成作业。

您可以配置的时间特定地图的最大数量或减少整个作业可以通过以下属性失败之前任务可能会失败:

  • mapred.map.max.attempts - 每个地图的任务尝试的最大数量。 换句话说,框架将尝试了在放弃之前执行Map任务这么些次数。
  • mapred.reduce.max.attempts -同上,但对于降低任务

如果您想在第一次失败失败了一份工作,从4默认为1设置此值。



Answer 5:

简单地强行杀死进程ID,Hadoop的工作也将自动杀死。 使用此命令:

kill -9 <process_id> 

例如:进程ID NO:4040名称节点

username@hostname:~$ kill -9 4040


文章来源: how to kill hadoop jobs
标签: hadoop kill jobs