我创建了一个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>"Hadoop"</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>
答案 0 :(得分:0)
如果您使用HUE版本3.8或3.9,则“工作流程”选项卡下会有一个选项。您将浏览此菜单“工作流程 - >编辑器 - >工作流程”。
然后你会在右上角看到一个“创建”选项。单击该按钮后,将显示不同工作流程类型的列表(它们都是可拖动的)。拖动“Java”工作流程,休息应该很容易。