我试图像这样杀死一个oozie协调员工作:
$ oozie job -oozie http://10.0.3.2:11000/oozie -kill 0003288-130913181709024-oozie-oozi-C
没有任何错误出现。
但在检查oozie UI后,该作业仍然存在。
我熟练的severa工作,然后在oozie上部署新的代码更新,开始新的工作。由于旧工作不能被杀,现在Oozie有很多同样的项目'RUNNING'。
我之前可以杀死这些工作,但现在却无法杀死它。那么,如何强行杀死RUNNING工作呢?你知道这会发生什么吗?
非常感谢。
答案 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";