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

时间:2015-05-20 23:22:24

标签: java hadoop hdfs oozie hue

我创建了一个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 :(得分:0)

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

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