不能通过-kill命令杀死oozie作业

6jjcrrmo  于 2021-06-03  发布在  Hadoop
关注(0)|答案(4)|浏览(427)

我想干掉一个像这样的oozie协调员的工作:

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

没有出现任何错误。
但在我检查了oozie ui之后,作业仍然存在。
我熟练地做了几个工作,然后在oozie上部署了新的代码更新,开始新的工作。由于旧的工作不能被杀死,有许多工作与同一个项目'运行'在oozie现在。
我以前可以把工作干掉,但现在不行。那么,如何强制终止正在运行的作业?你知道是什么导致了这一切吗?
非常感谢。

s1ag04yj

s1ag04yj1#

这也发生在我的oozie服务器上,而且是在测试环境中。这是在resourcemanager关闭并且oozie试图将作业提交给rm时造成的。
为了克服这个问题,我从mysql表中删除了这个作业的条目(而不是删除整个数据库),然后重新启动了作业:

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

t1rydlwq2#

我也面临这个问题,
只需先列出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    
------------------------------------------------------------------------------------------------------------------------------------

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

qq24tv8q

qq24tv8q3#

在我的测试环境中,oozie使用derby作为数据库,有时会遇到这个错误。解决方案是通过删除数据库来清除oozie状态:

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

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

4uqofj5v

4uqofj5v4#

尽管derby已经回答了这个问题,但是我们在使用oozie和postgresql数据库时也看到了这种行为,所以我在这里为将来遇到这个问题的其他人发布了我们的解决方案。解决方案最终是使用pg\u dump克隆数据库模式

pg_dump --schema-only $OOZIE_DB > outfile
createdb -O $OOZIE_USER $NEW_DB_NAME
psql $NEW_DB_NAME < outfile

这将为您提供一个干净的oozie数据库示例。在那里,更新oozie配置以用于新的(干净的)数据库,然后重新启动oozie服务器。

相关问题