oozie就是个大坑,如果避不开,好歹也简简单单地检测任务状态。
列出当前所有waiting和timeout任务依赖的数据,
oozie jobs -jobtype coordinator | grep -iE '(running)' | sed -r 's/ +/ /g' | sed -r 's/^([^ ]+-C).+/\1/g' | while read coord; do echo $coord; oozie job -len 99999 -info $coord | sed -r '1,/^-+/d;1,/^-+/d' | grep -iE '(running|waiting|timeout)' | sed -r 's/^([^ ]+-C@[0-9]+).+/\1/g' | while read wf; do oozie job -info $wf | grep -E '^(ID|Created|Nominal Time|Status|Last Modified|First Missing Dependency)'; echo; done; done | grep 'First Missing Dependency' | grep -vE '\-$' | sed -r 's/^.+ hdfs:/hdfs:/g' | sort | uniq