无法通过-kill命令杀死oozie作业

时间:2013-09-24 10:33:28

标签: hadoop hbase distributed-computing oozie

我试图像这样杀死一个oozie协调员工作:

$ oozie job -oozie http://10.0.3.2:11000/oozie -kill 0003288-130913181709024-oozie-oozi-C

没有任何错误出现。

但在检查oozie UI后,该作业仍然存在。

我熟练的severa工作,然后在oozie上部署新的代码更新,开始新的工作。由于旧工作不能被杀,现在Oozie有很多同样的项目'RUNNING'。

我之前可以杀死这些工作,但现在却无法杀死它。那么,如何强行杀死RUNNING工作呢?你知道这会发生什么吗?

非常感谢。

4 个答案:

答案 0 :(得分:4)

我在测试环境中遇到此错误,Oozie使用Derby作为数据库。解决方案是通过删除数据库清除Oozie状态:

sudo /etc/init.d/oozie stop
sudo rm -rf /var/lib/oozie/oozie-db/
sudo /etc/init.d/oozie start

当然,这个解决方案可能不适合生产系统(通过我从未在生产中看到过这个错误)。

答案 1 :(得分:0)

我也面临这个问题,

首先列出oozie中的所有工作,然后杀死所需的工作现在非常简单 -

arif@ubuntu:~/applications/hadoop/oozie-4.3.0$ bin/oozie jobs
Job ID                                   App Name     Status    User      Group     Started                 Ended                   
------------------------------------------------------------------------------------------------------------------------------------
0000000-171229155700312-oozie-arif-W     sqoop-wf     RUNNING   arif      -         2017-12-29 10:55 GMT    -                       
------------------------------------------------------------------------------------------------------------------------------------
0000002-171229093438895-oozie-arif-W     sqoop-wf     FAILED    arif      -         2017-12-29 06:30 GMT    2017-12-29 11:39 GMT    
------------------------------------------------------------------------------------------------------------------------------------
0000001-171229093438895-oozie-arif-W     sqoop-wf     FAILED    arif      -         2017-12-29 06:21 GMT    2017-12-29 06:21 GMT    
------------------------------------------------------------------------------------------------------------------------------------
0000000-171229093438895-oozie-arif-W     sqoop-wf     FAILED    arif      -         2017-12-29 06:13 GMT    2017-12-29 06:13 GMT    
------------------------------------------------------------------------------------------------------------------------------------
arif@ubuntu:~/applications/hadoop/oozie-4.3.0$ bin/oozie jobs -jobtype coordinator
No Jobs match your criteria!
arif@ubuntu:~/applications/hadoop/oozie-4.3.0$ bin/oozie job -kill 0000000-171229155700312-oozie-arif-W
arif@ubuntu:~/applications/hadoop/oozie-4.3.0$ bin/oozie jobs
Job ID                                   App Name     Status    User      Group     Started                 Ended                   
------------------------------------------------------------------------------------------------------------------------------------
0000000-171229155700312-oozie-arif-W     sqoop-wf     KILLED    arif      -         2017-12-29 10:55 GMT    2017-12-29 11:54 GMT    
------------------------------------------------------------------------------------------------------------------------------------
0000002-171229093438895-oozie-arif-W     sqoop-wf     FAILED    arif      -         2017-12-29 06:30 GMT    2017-12-29 11:39 GMT    
------------------------------------------------------------------------------------------------------------------------------------
0000001-171229093438895-oozie-arif-W     sqoop-wf     FAILED    arif      -         2017-12-29 06:21 GMT    2017-12-29 06:21 GMT    
------------------------------------------------------------------------------------------------------------------------------------
0000000-171229093438895-oozie-arif-W     sqoop-wf     FAILED    arif      -         2017-12-29 06:13 GMT    2017-12-29 06:13 GMT    
------------------------------------------------------------------------------------------------------------------------------------

希望它会帮助别人,谢谢。

答案 2 :(得分:0)

虽然Derby已经回答了这个问题,但是当我们将Oozie与Postgresql数据库一起使用时,我们也看到了这种行为,因此我将此处的解决方案发布给将来遇到此问题的其他人。解决方案最终是使用pg_dump

克隆数据库模式
pg_dump --schema-only $OOZIE_DB > outfile
createdb -O $OOZIE_USER $NEW_DB_NAME
psql $NEW_DB_NAME < outfile

这为您提供了一个干净的Oozie数据库实例。从那里,更新Oozie配置以用于新的(干净的)数据库,并重新启动Oozie服务器。

答案 3 :(得分:-1)

这也发生在我的Oozie服务器上,并且在测试环境中。这是由于resourceManager关闭而Oozie尝试将作业提交给RM造成的。

为克服此问题,我从MySQL表中删除了该作业的条目(而不是删除整个数据库),然后重新启动了该作业:

mysql> delete from WF_JOBS where id="Wf-id";