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