Hadoop - 停止Hadoop集群中正在执行的任务教程
1,问题描述
(1)如果一个 mapreduce 任务处理的数据量比较大的话,这个任务会执行很长时间,可能几十分钟或者几个小时都有可能。假设一个场景,任务执行了一半时我们发现我们的代码写的有问题,需要修改代码重新提交执行。这个时候之前的任务就没有必要再执行了,因为其没有任何意义,最终的结果肯定是错误的,所以我们就想把它停掉,要不然会额外浪费集群的资源。
(2)由于任务是提交到集群执行的,如果我们在提交任务的窗口中执行 ctrl + c 对已经提交到集群中的任务是没有任何影响的。我们可以验证一下,执行 ctrl + c 之后我们再到 yarn 的 8088 界面查看,会发现任务依然存在。
2,解决办法
(1)要停止正在运行的任务,我们执行如下 hadoop 集群的命令即可,注意后面需要指定任务 id:
yarn application -kill application_1717051629400_0005
(2)可以看到任务确实被停止了: