我有一个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脚本执行得很好(两个文件在同一个目录中)。这让我相信,问题在于,无论出于什么原因,python都没有被oozie所认可。
1条答案
按热度按时间zi8p0yeb1#
在脚本中添加hash bang
例如,我的脚本以