作者:姓陈的女青年 | 来源:互联网 | 2023-09-02 17:36
目录1.常用脚本2.启停oozie任务3.借助hue,启停oozie4.Oozie任务死锁解决方案1.常用脚本校验配置文件oozievalidate-oozieh
目录
- 1.常用脚本
- 2.启停oozie任务
- 3.借助hue,启停oozie
- 4.Oozie任务死锁解决方案
1.常用脚本
校验配置文件
oozie validate -ooziehttp://。。。:11000/oozie /export/servers/oozie/test/coordinator.xml
运行job
oozie job -oozie http://。。。:11000/oozie -config /export/servers/oozie/test/coordinator.properties -run
查看信息
oozie job -oozie http://。。。:11000/oozie -info 0000029-191027171933033-oozie-root-C
查看日志
oozie job -oozie http://。。。:11000/oozie -log 0000064-190923225831711-oozie-root-C
Kill任务
oozie job -oozie http://。。。:11000/oozie -kill 0000064-190923225831711-oozie-root-C
查看所有普通任务
oozie jobs
oozie jobs -oozie http://。。。:11000/oozie
查看定时任务
oozie jobs -jobtype coordinator -oozie http:/。。。:11000/oozie
oozie jobs -oozie http://。。。:11000/oozie -jobtype coordinator
2.启停oozie任务
启动任务 java代码
oozie job http://...:11000/oozie -config job.properties -run
停止任务
oozie job http://...:11000/oozie -kill jobid
注意在停止任务的时候可能会出现权限问题,需要修改oozie-site.xml文件
hadoop.proxyuser.oozie.groups *
hadoop.proxyuser.oozie.hosts *
oozie.server.ProxyUserSever.proxyuser.hadoop.hosts *
oozie.server.ProxyUserSever.proxyuser.hadoop.groups *
3.借助hue,启停oozie
实景:今天在hue上面的schedule中没有正在运行的任务,但是workflow中一直有任务在运行。
解决办法:点击workflow,找到正在运行的任务。然后点击这个单独job的id,就会找到它上一级的jobid。
4.Oozie任务死锁解决方案
产生死锁的必要条件就是任务会产生子任务,而Ooize的机制恰好是这样的:Oozie拉起一个YARN应用的机制是先拉起一个MapReduce任务(称为oozie launcher任务),然后该MR任务拉起真正的任务(文章刚开始提到的那些任务)。举个死锁的例子:某一时刻我们通过Oozie提交了n个Spark任务(通过Oozie的Spark Action或Shell Action),这样Oozie会向YARN提交n个MapReduce任务(oozie launcher),假设m(m≤n)个MR任务获得了资源并且创建了spark任务,但此时队列内的资源都被这m个MR任务占用了,所以spark任务一直在等待资源,而那m个MR任务却在等待spark任务完成返回,这样便产生了死锁。
https://niyanchun.com/oozie-deadlock-solution.html