我们第一次尝试使用Oozie shell操作来运行脚本。 我们已经正确配置了属性文件,因此触发了工作流,但在运行脚本时仍然面临权限问题。
我确实修改了工作流程.xml,但是没有运气。当然,那里的设置或配置有些问题。如何更正我的工作流程.xml以便运行脚本?下面是Workflow.xml。
<workflow-app xmlns="uri:oozie:workflow:0.4" name="shell-wf">
<start to="shell-node"/>
<action name="shell-node">
<shell xmlns="uri:oozie:shell-action:0.2">
<job-tracker>${YARNRM}:8050</job-tracker>
<name-node>hdfs://${NAMENODE}</name-node>
<exec>sh processData.sh</exec>
<file>/user/oozie/processData.sh#/user/oozie/processData.sh</file>
<capture-output/>
</shell>
<ok to="check-output"/>
<error to="fail"/>
</action>
<decision name="check-output">
<switch>
<case to="end">
${wf:actionData('shell-node')['my_output'] eq 'Hello Oozie'}
</case>
<default to="fail-output"/>
</switch>
</decision>
<kill name="fail">
<message>Shell action failed, error message[${wf:errorMessage(wf:lastErr orNode())}]</message>
</kill>
<kill name="fail-output">
<message>Incorrect output, expected [Hello Oozie] but was [${wf:actionDa ta('shell-node')['my_output']}]</message>
</kill>
<end name="end"/>
</workflow-app>
错误消息:
无法运行程序“ sh processData.sh”(在目录“ / data6 / hadoop / yarn / local / usercache / oozie / appcache / application_1566406902070_0266 / container_e413_1566406902070_0266_01_000002”中):错误= 13,权限被拒绝