oozie中FIFO,LIFO和Lastonly之间的区别

时间:2019-06-19 14:55:18

标签: oozie

请您简要说明一下oozie作业如何根据LIFO,FIFO和LASTONLY设置来优先处理作业。 主要需要通过时序示例来说明LIFO和LASTONLY之间的区别。

1 个答案:

答案 0 :(得分:0)

Oozie文档的

This部分描述了区别。

相关部分:

  

FIFO (最早的),默认。

     

LIFO (最新)。

     

LAST_ONLY :虽然FIFO和LIFO仅指定READY的顺序   应该执行的动作,LAST_ONLY实际上会导致某些动作   被跳过,并且有点难以理解。当LAST_ONLY是   设置时,当“等待”或“就绪”操作将被跳过时,   当前时间已超过下一个动作的标称时间。例如,   假设动作1和2都准备就绪,当前时间是5:00 pm,并且   动作2的标称时间是下午5:10。从现在开始的10分钟内,下午5:10,   假设操作1不会过渡到   在此之前提交(或处于终端状态)。这听起来类似于   超时控制,但有一些重要的区别:

     
      
  1. 超时时间是可配置的,而LAST_ONLY时间实际上是频率。
  2.   
  3. 达到超时会使操作转换为TIMEDOUT,这将导致协调器作业变为RUNNINGWITHERROR并   最终发生DONEWITHERROR。使用LAST_ONLY,动作将变为“跳过”   并且协调器作业仍在运行,并最终完成。
  4.   
  5. 超时看起来满足数据依赖性,而LAST_ONLY则观察动作本身。这意味着超时   只会导致从WAITING过渡,而LAST_ONLY可能会导致   从等待或就绪过渡。
  6.   
     

LAST_ONLY在您需要重复性工作但不实际需要时很有用   关心个别实例,只是一直想要最新的实例   行动。例如,如果您有一个协调员,每10个运行一次   分钟,然后将Oozie放下1小时,然后Oozie回来,在那里   通常是6个等待或准备运行的动作。但是,随着   LAST_ONLY,只有当前的一个将被提交,然后运行。   其他人将转到“跳过”。

     

:类似于LAST_ONLY,只是不看下一个   动作的标称时间   oozie-site.xml中的oozie.coord.execution.none.tolerance(默认为1   分钟)。设置为NONE时,将处于等待或准备就绪状态   当当前时间超过配置的次数时,跳过   该动作的标称时间之后的分钟(公差)。例如,   假设操作1和2都准备就绪,当前时间是5:20 pm,并且   这两个动作的标称时间都在下午5:19之前。两种动作都会   假设他们没有过渡到“已提交”(或   终端状态)。