在文档中,config-default.xml必须显示在工作流工作区中。
- /workflow.xml
- /config-default.xml
|
- /lib/ (*.jar;*.so)问题所在
我创建了一个自定义Oozie操作,并尝试将retry-max和retry-interval的默认值添加到所有自定义操作中。所以我的workflow.xml会是这样的:
<workflow-app xmlns="uri:oozie:workflow:0.3" name="wf-name">
<action name="custom-action" retry-max="${default_retry_max}" retry-interval="${default_retry_interval}">
</action>config-default.xml文件包含default_retry_max和default_retry_interval的值。
我试过的
config-default.xml放到每个工作流工作区。这是可行的,但问题是会有这个文件到处都是。oozie.service.LiteWorkflowStoreService.user.retry.max和oozie.service.LiteWorkflowStoreService.user.retry.inteval也有效,但它会影响所有操作类型。我认为应该有一种将config-default.xml放到oozie.libpath中的方法,只有使用此libpath的工作流才会受到影响。
发布于 2018-02-12 13:30:58
AFAIK,不幸的是,没有干净的方法来做到这一点。
您可能对最近创建的特性请求感兴趣:https://issues.apache.org/jira/browse/OOZIE-3179
唯一对我起作用的是使用hdfs中存储的脚本的shell步骤开始工作流。此脚本保存集中式配置。脚本将如下所示:
#!/bin/sh
echo "oozie.use.system.libpath=true"
echo "hbase_zookeeper_quorum=localhost"
.. etc other system or custom variables ..是的,脚本只是将变量打印到stdout。假设shell步骤操作称为"global_config“。以下所有步骤都可以使用以下语法获得变量:
${wf:actionData('global_config')['hbase_zookeeper_quorum']}嗯..。
https://stackoverflow.com/questions/46220293
复制相似问题