oozie如何杀死僵死的任务?

1. OOzie僵死任务的形成原因分析

(1)同时提交多个任务导致相互等待

(2)提交任务后,yarn挂了或yarn的资源不足

(3)提交了任务后,不小心将后台脚本删除

(4)oozie的配置文件中的resourcemananger地址写错,导致连接不上yarn。

2. 解决方法

      步骤1:重启Oozie

      因数据都是写数据库的,不能清除数据,只是尝试重启。

     步骤2:利用Oozie命令杀死job

   (1)先找到僵死的job id

     到oozie webui上找到僵死任务id

   进入任务中找到子任务ID

     僵死的job id为:0000027-190827162618880-oozie-oozi-W  

    (2)利用oozie命令杀掉

        su oozie(需要到oozie用户上去杀死)

       oozie job --oozie http://10.1.3.11:11000/oozie -kill 0000027-190827162618880-oozie-oozi-W,标黄色的为oozie的连接地址。

   (3)通过oozie jobs | grep + job id来查询该job的状态

   (4)到oozie webui界面查看状态是否改变。如果还没被杀死,继续步骤3

      步骤3:到oozie的数据库更新job status       

            (1) 进去mysql数据库查询:WF_JOBS

SELECT * FROM oozie.`WF_JOBS` WHERE id ='0000027-190827162618880-oozie-oozi-W';

          (2)更新状态job status:

UPDATE WF_JOBS SET STATUS = 'SUCCEEDED' WHERE id ='0000027-190827162618880-oozie-oozi-W';

      (3)查看Oozie WebUi的状态

              可以看到Oozie Web Ui 的状态由刚开始的两个变成1个

3. 总结

   本文阐述了Oozie杀死僵死任务的方法,一般的可以用Oozie的kill命令进行解决,对于一些特殊的解决不了可以试试重启Oozie,再kill,如果还未解决,需要到Oozie的Mysql数据库下查出目前的状态,更新其状态。

发布了11 篇原创文章 · 获赞 165 · 访问量 5369

猜你喜欢

转载自blog.csdn.net/godlovedaniel/article/details/104762766
今日推荐