首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >oozie中FIFO、LIFO和Lastonly的区别

oozie中FIFO、LIFO和Lastonly的区别
EN

Stack Overflow用户
提问于 2019-06-19 22:55:19
回答 1查看 288关注 0票数 0

您能否简要解释一下oozie作业如何根据LIFO、FIFO和LASTONLY设置来确定作业的优先级。主要需要LIFO和LASTONLY之间的区别和时序示例。

EN

回答 1

Stack Overflow用户

发布于 2019-07-11 19:21:23

Oozie文档中的This部分描述了这种差异。

相关部分:

先进先出(最早的先)*默认。

后进先出(最新的优先)。

LAST_ONLY :虽然先进先出和后进先出只是指定准备好的动作应该被执行的顺序,但LAST_ONLY实际上可能会导致一些动作被跳过,并且更难理解。如果设置了LAST_ONLY,则当当前时间超过下一个操作的标称时间时,将跳过正在等待或准备就绪的操作。例如,假设动作1和2都已就绪,当前时间为5:00 is,动作2的标称时间为5:10 is。10分钟后,下午5:10,假设动作1在此之前没有转换到提交状态(或终端状态),它将被跳过。这听起来类似于超时控件,但有一些重要的区别:

当超时时间实际上是frequency.

  • Reaching时,超时时间是可配置的。超时导致操作转换为
  1. ,这将导致协调器作业变为LAST_ONLY并最终变为DONEWITHERROR。使用LAST_ONLY,操作被跳过,协调器作业保持运行并最终完成。
  2. 超时看起来满足数据依赖性,而LAST_ONLY看起来是操作本身。这意味着超时只能导致从等待状态转换,而LAST_ONLY可能导致从等待状态或就绪状态转换。

如果您想要一个循环作业,但实际上并不关心单个实例,而只是想要最新的操作,那么LAST_ONLY是很有用的。例如,如果你有一个协调器每10分钟运行一次,让Oozie停下来1个小时,当Oozie回来时,通常会有6个动作等待或准备运行。然而,对于LAST_ONLY,只有当前的将转到提交,然后运行;其他的将转到跳过。

NONE:与LAST_ONLY类似,不同之处在于它不查看下一个操作的名义时间,而是查看oozie-site.xml中的oozie.coord.execution.none.tolerance (缺省为1分钟)。设置为NONE时,如果当前时间超过配置的操作标称时间的分钟数(容差),则将跳过正在等待或准备就绪的操作。例如,假设动作1和2都准备好了,当前时间是5:20 is,两个动作的名义时间都在5:19 is之前这两个操作都将被跳过,假设它们在此之前没有转换到提交(或终端状态)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56670639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档