如何在子工作流(单独的 xml 文件)中读取配置属性



我在单独的子工作流文件中读取配置属性时收到以下提到的错误消息。我正在发布示例代码。感谢您在解决此问题方面的帮助。谢谢!

2019-01-17 08:44:52,885 警告 动作启动XCommand:523 - 服务器[本地主机] 用户[用户1] 组[-] 令牌[] 应用[子工作流] 作业[0338958-190114130857167-oozie-oozi-W] 操作[0338958-190114130857167-oozie-oozi-W@subWorkflowAction1] ELException in ActionStartXCommandjavax.servlet.jsp.el.ELException:变量 [jobtracker] 无法解析

协调器作业触发器命令

oozie job --oozie http://localhost:11000/oozie --config /home/user/oozie-scripts/props/job.properties -run

作业属性

namenode=hdfs://localhost
workflowpath=${namenode}/user/user1/oozie-workflow/parentWorkflow.xml
frequency=25
starttime=2018-08-06T13:29Z
endtime=2108-08-06T13:29Z
timezone=UTC
oozie.coord.application.path=${namenode}/user/user1/oozie-workflow/coordinator.xml
jobtracker=http://localhost:8088
scriptpath=/user/user1/oozie-workflow

协调者

<coordinator-app name="sampleCoord" frequency="${frequency}" start="${starttime}" end="${endtime}" timezone="${timezone}" xmlns="uri:oozie:coordinator:0.4">
<action>
<workflow>
<app-path>${workflowpath}</app-path>
</workflow>
</action>
</coordinator-app>

父工作流

<workflow-app xmlns = "uri:oozie:workflow:0.4" name = "Parent-Workflow">
<start to = "workflowAction1" />
<action name = "workflowAction1">
<sub-workflow>
<app-path>/user/user1/oozie-workflow/subWorkflow1.xml</app-path>
</sub-workflow>
<ok to = "end" />
<error to = "end" />
</action>

子工作流

<workflow-app xmlns = "uri:oozie:workflow:0.4" name = "subWorkflow">
<start to = "subWorkflowAction1" />
<action name = "subWorkflowAction1">
<hive xmlns = "uri:oozie:hive-action:0.4">
<job-tracker>${jobtracker}</job-tracker>
<script>${scriptpath}/dropTempTable.hive</script>
<param>Temp_TableVar=${concat(concat("HBASE_",replaceAll(wf:id(),"-    ","_")),"_TEMP")}</param>
</hive>
<ok to = "end" />
<error to = "kill_job" />
</action>

<kill name = "kill_job">
<message>Job failed</message>
</kill>
<end name = "end" />
</workflow-app>

在父工作流 xml 文件中添加传播配置标记解决了该问题。

<workflow-app xmlns = "uri:oozie:workflow:0.4" name = "Parent-Workflow">
<start to = "workflowAction1" />
<action name = "workflowAction1">
<sub-workflow>
<app-path>/user/user1/oozie-workflow/subWorkflow1.xml</app-path>
<propagate-configuration />
</sub-workflow>
<ok to = "end" />
<error to = "end" />

最新更新