首页 > 解决方案 > Oozie 协调器为一项操作创建 12 个工作流作业

问题描述

伙计们。

我正在使用 Hortonwork 的 HDP 沙盒。我已经配置了简单的 spark 作业(它采用文本文件并将字数输出到另一个文件中)。

无论如何,我遇到的问题是协调员(在 oozie 中),当我安排工作总是在 5 分钟后重复时。每次协调员创建 12 个相同的工作流程,我不知道为什么。这是我的协调器配置:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<coordinator-app xmlns="uri:oozie:coordinator:0.5" end="2020-01-02T17:53Z" frequency="${coord:minutes(5)}" name="Simple Spark Scala Coordinator" start="2019-05-01T17:53Z" timezone="GMT+04:00">
    <action>
        <workflow>
            <app-path>/user/admin/tmp/workflow.xml</app-path>
        </workflow>
    </action>
</coordinator-app>

这是工作流配置:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<workflow-app xmlns="uri:oozie:workflow:0.5" name="Spark Scala Example Workflow">
    <start to="spark_scala_example"/>
    <action name="spark_scala_example">
        <spark xmlns="uri:oozie:spark-action:0.2">
            <job-tracker>${resourceManager}</job-tracker>
            <name-node>${nameNode}</name-node>
            <prepare>
                <delete path="${nameNode}/user/${wf:user()}/tmp/result_large"/>
            </prepare>
            <master>local</master>
            <name>Spark Scala Example Action</name>
            <class>com.example.App</class>
            <jar>${nameNode}/user/${wf:user()}/tmp/spark-scala-example-1.0-SNAPSHOT.jar</jar>
            <arg>${nameNode}/user/${wf:user()}/tmp/test_large.txt</arg>
            <arg>${nameNode}/user/${wf:user()}/tmp/result_large</arg>
        </spark>
        <ok to="end"/>
        <error to="kill"/>
    </action>
    <kill name="kill">
        <message>${wf:errorMessage(wf:lastErrorNode())}</message>
    </kill>
    <end name="end"/>
</workflow-app>

你们知道为什么它会创建相同工作流程的 12 个副本吗?

标签: scalaapache-sparkoozie-coordinatoroozie-workflow

解决方案


您是否检查了所有这 12 个工作流程中的日期是否相同?

如果您选择将开始日期设置为过去,Oozie 将弥补缺失的工作流程。不知道为什么只有12


推荐阅读