首页 文章

如何使用hue接口将Java Action作为oozie工作流运行

提问于
浏览
1

我创建了一个java main方法的测试可执行jar,它接受args [0] = Hadoop . java程序接受此参数并将以下字符串写入文本文件中;

“currentTimeStamp / t欢迎来到Hadoop !! / n”100,000次 .

我使用hue接口为java动作创建了一个oozie-workflow . 请参阅下面的workflow.xml . 然而,oozie-workflow成功执行,但操作不会在文本文件中创建或写入 . 文本文件路径为/user/ruben123/test.txt . 当我使用命令java -jar TestRunner.jar“Hadoop”在本地unix服务器中运行jar文件时,它会正确执行并生成所需的输出 .

我有一个运行HDP 2.2的单节点伪集群作为Hortonworks提供的VM .

<workflow-app name="TestRunner" xmlns="uri:oozie:workflow:0.4">
    <start to="TestRunner"/>
    <action name="TestRunner">
        <java>
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <main-class>org.test.TestRunner</main-class>
            <arg>&quot;Hadoop&quot;</arg>
            <capture-output/>
        </java>
        <ok to="end"/>
        <error to="kill"/>
    </action>
    <kill name="kill">
        <message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <end name="end"/>
</workflow-app>

1 回答

  • 0

    如果您使用HUE版本3.8或3.9,则“工作流程”选项卡下会有一个选项 . 您可以浏览此菜单“工作流程 - >编辑器 - >工作流程” .

    在那里,您将在右上角看到一个“创建”选项 . 单击该按钮后,将显示不同工作流程类型的列表(它们都是可拖动的) . 拖动“Java”工作流程,休息应该很容易 .

相关问题