【问题标题】:Run single instance of oozie coordinator workflow运行 oozie 协调器工作流的单个实例
【发布时间】:2018-04-18 06:32:03
【问题描述】:

我有一个 oozie 协调器,它每 30 分钟运行一次。

但我想一次只运行一个实例。

(比如说,如果工作流需要超过 30 分钟才能完成,我不希望下一个计划的工作流在前一个完成之前开始运行)

我可以在 coordinator.xml 中设置一个配置属性来实现这一点吗?

【问题讨论】:

    标签: scheduling oozie oozie-coordinator oozie-workflow


    【解决方案1】:

    您可以为您的协调器指定并发选项,即给定协调器可以同时执行多少个操作。 您还可以指定执行策略和超时来控制是否应跳过操作、何时重叠以及哪些操作。

       <coordinator-app name="[NAME]" frequency="[FREQUENCY]"
                        start="[DATETIME]" end="[DATETIME]" timezone="[TIMEZONE]"
                        xmlns="uri:oozie:coordinator:0.1">
          <controls>
            <timeout>[TIME_PERIOD]</timeout>
            <concurrency>[CONCURRENCY]</concurrency>
            <execution>[EXECUTION_STRATEGY]</execution>
          </controls>
          ...
    

    但据我所知,这在 Oozie 3.3 版中效果不佳。您可以尝试使用较新的版本。

    进一步阅读: https://oozie.apache.org/docs/4.3.0/CoordinatorFunctionalSpec.html#a6.1.6._Coordinator_Action_Execution_Policies

    【讨论】:

    • AFAIK concurrency 一直有效,execution 在 V4.1 中已修复 (确切版本待定)timeout 具有误导性,因为它不适用于正在运行的作业但是到“等待数据集”协调子句。
    • 顺便说一句,如果我是你,我不会使用uri:oozie:coordinator:0.1;当前架构规范是 0.5,使用旧版本是阻止新功能和改进的好方法...
    • 我遇到了同样的问题,但我正在运行 oozie coordinator 2.6。你知道以前的版本是否有同样的问题,还是特别是 3.3? “但据我所知,这在 Oozie 3.3 版中效果不佳。您可以尝试使用较新的版本”这是否记录在某处?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-29
    相关资源
    最近更新 更多