【问题标题】:How does an Oozie coordinator react on an underlying workflow change?Oozie 协调员如何对基础工作流程更改做出反应?
【发布时间】:2017-01-06 07:52:00
【问题描述】:

我有一个关于 Apache Oozie 的问题,尤其是关于 CDH 发行版的问题。

当协调员使用的工作流程被修改后,协调员会发生什么? 例如,工作流现在使用一个由变量自动填充的额外参数。这在理论上不需要对协调器进行任何更改。 运行协调员是否仍然使用初始工作流程的配置,或者他们是否动态适应新工作流程。如果他们仍然使用旧配置,我是否需要定义一个新的协调器或重新提交相同的协调器就够了吗?

【问题讨论】:

  • 我相信 workflow.xml 已经为你改变了。提交到 coord 的配置中是否已经存在新的配置参数?
  • 我不太确定你在这里问什么。协调器不需要更改,但工作流的 workflow.xml 确实已更改。我在问协调员如何与工作流程联系起来。正在运行的协调器是否链接到以前的文件,我认为这是合乎逻辑的?第二个问题是没有运行链接到旧文件或新文件的协调器?含义:我需要创建一个新的协调员,更新我的协调员还是可以重新提交? @YoungHobbit
  • 如果只是workflow.xml发生了变化,那么替换HDFS中的workflow.xml(你提供给coordinator的应用路径)。对于下一次执行,它将选择新的工作流程。只需确保新的/更改的参数已经存在于提交的协调器中。谢谢。

标签: hadoop oozie cloudera-cdh oozie-coordinator


【解决方案1】:

它是这样工作的:每个提交的协调器都有一组固定的变量和参数(配置文件)。 -change 选项允许您更改协调器的以下属性:

  • endtime:协调器作业的结束时间。
  • concurrency:协调器作业的并发。
  • pausetime:协调器作业的暂停时间。

除了 Coordinator 协调器名称、频率、开始时间、结束时间和时区之外的所有内容都可以使用 -update 选项进行更改。详情见官方文档:

http://oozie.apache.org/docs/4.3.0/DG_CommandLineTool.html#Updating_coordinator_definition_and_properties

在配置文件中,您通常指向 hdfs 中的协调器文件,然后该协调器文件指向 hdfs 中的工作流文件。如果您在 hdfs 中更改其中任何一个,下次协调器触发时,它将使用新的/修改的文件。对于工作流操作中使用的所有文件也是如此,例如shell 脚本、Jar 文件、...

【讨论】:

  • 可以使用-update选项为协调器更新完整的配置属性。
  • 你是对的,我编辑了我的答案以包含此功能。非常感谢您指出这一点
  • @garkyn 我刚刚更改了 Hue 上的工作流程,它现在使用了一些其他代码所需的附加文件。虽然工作流程自己工作,但使用此工作流程的协调员却没有工作,因为它显然仍在使用旧工作流程。如果我正确解释了您的答案,工作流将在触发后使用更新的工作流 xml。那么这是否意味着每次进行更改时,Hue 都会创建不同的工作流 xml?还是另一种可能性:协调员在创建时从工作流文件中复制一份?
  • 很抱歉,我不完全理解您的问题。您是通过 HUE 创建工作流/协调器还是仅以这种方式启动它。如果您正在使用 Oozie,我强烈建议您一起远离 HUE
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多