oozie工作一次又一次地执行

时间:2016-11-15 17:49:13

标签: oozie oozie-coordinator

我对oozie很新。我有一个oozie工作流程,它应该每天执行一次(因为它被安排为:0 4 * * *)但它会一直执行,因为作业在完成后在5-6秒内再次提交。这是故事: - 它是在预定的时间执行但由于参数的错误值而失败(下面的列表中的第3和第4个):

${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'YYYY')}
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'MM')}
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -2, 'DAY'), 'w')}
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -2, 'DAY'), 'YYYYww')}
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'yyyy-MM-dd 00:00:00')}

第3和第4个应该拿到当前周数 - 2,就像当前一周中没有一个是47它应该拿起45。对于其余的参数,它应该获取前一天的值。所以我认为第3和第4是错的,首先我尝试了这个:

${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'YYYY')}
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'MM')}
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -2, 'WEEK'), 'w')}
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -2, 'WEEK'), 'YYYYww')}
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'yyyy-MM-dd 00:00:00')}

但没有成功。所以我把它们改成了这个:

${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'YYYY')}
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'MM')}
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -14, 'DAY'), 'w')}
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -14, 'DAY'), 'YYYYww')}
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'yyyy-MM-dd 00:00:00')}

现在工作没有失败,但我上面提到的问题正在扼杀我。我试图回滚,但没有成功。即使我试图通过删除它的调度程序来阻止它,但仍然是相同的。知道可能出了什么问题吗?我使用oozie和HUE。

1 个答案:

答案 0 :(得分:1)

我有一个解决方案,而不是理解here关于Oozie如何使用HUE帮助我解决问题。

查找此部分(以及许多其他重要信息): 如果您将工作流程的开始时间设置为过去,那么Oozie会很乐意将工作流程安排为连续多次运行,直至达到当前时间。