我有一个Oozie工作流,其中包含一个shell操作,该操作调用失败的Python脚本,但出现以下错误。
Launcher ERROR, reason: Main class [org.apache.oozie.action.hadoop.ShellMain], exit code [1]
Python脚本(hello.py)很简单。
print("Hello, World!")
这是我的Oozie工作流程。
<workflow-app xmlns="uri:oozie:workflow:0.4" name="hello">
<start to="shell-check-hour"/>
<action name="shell-check-hour">
<shell xmlns="uri:oozie:shell-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
</configuration>
<exec>hello.py</exec>
<file>hdfs://localhost:8020/user/test/hello.py</file>
<capture-output/>
</shell>
<ok to="end"/>
<error to="fail"/>
</action>
<kill name="fail">
<message>Workflow failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="end"/>
</workflow-app>
有人看到我在做什么有什么问题吗?如果我用shell脚本替换Python脚本,则shell脚本执行正常(两个文件都在同一目录中)。这让我相信问题是无论出于什么原因,Oozie都没有认识到Python。