Python Oozie Shell操作失败



我有一个Oozie工作流,它包含一个调用Python脚本的shell操作,该脚本失败并出现以下错误。

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脚本执行得很好(两个文件都在同一个目录中)。这让我相信问题是由于某种原因,Python没有被Oozie识别。

在脚本中添加Hash-Bang

例如,我的脚本以 开头
#!/usr/bin/env python

最新更新