【发布时间】:2015-05-20 23:22:23
【问题描述】:
我创建了一个接受 args[0] = Hadoop 的 java main 方法的测试可执行 jar。 java程序接受这个参数并将以下字符串写入文本文件;
"currentTimeStamp /t Welcome to Hadoop!! /n" 100,000 次。
我使用 Hue 接口为 java 操作创建了一个 oozie 工作流。请参阅下面的 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>
【问题讨论】:
-
嘿,你解决了这个问题吗?我面临着类似的情况......
标签: java hadoop hdfs oozie hue