今天有同学问我,如何kill掉制定用户的所有job,有没有现成的命令?我看了一下hadoop job命令的提示,没有这样的命令。
其实实现kill指定用户的job也非常简单,本身hadoop job命令已经带有很多实用的job管理功能了。

列出Jobtracer上所有的作业

hadoop job -list

使用hadoop job -kill杀掉指定的jobid

hadoop job -kill job_id

组合以上两条命令就可以实现kill掉指定用户的job

for i in `hadoop job -list | grep -w  username| awk '{print $1}' | grep job_`; do hadoop job -kill $i; done


将上面的username替换为运行任务的用户名字,否则kill不掉