首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Oozie中是否有一种全局使用config-default.xml的方法?

在Oozie中是否有一种全局使用config-default.xml的方法?
EN

Stack Overflow用户
提问于 2017-09-14 13:19:20
回答 1查看 1.1K关注 0票数 2

文档中,config-default.xml必须显示在工作流工作区中。

代码语言:javascript
复制
- /workflow.xml
- /config-default.xml
|
- /lib/ (*.jar;*.so)

问题所在

我创建了一个自定义Oozie操作,并尝试将retry-maxretry-interval的默认值添加到所有自定义操作中。所以我的workflow.xml会是这样的:

代码语言:javascript
复制
<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_maxdefault_retry_interval的值。

我试过的

  1. config-default.xml放到每个工作流工作区。这是可行的,但问题是会有这个文件到处都是。
  2. 设置oozie.service.LiteWorkflowStoreService.user.retry.maxoozie.service.LiteWorkflowStoreService.user.retry.inteval也有效,但它会影响所有操作类型。
  3. 我也看过全局配置,但它不能解决这个问题。

我认为应该有一种将config-default.xml放到oozie.libpath中的方法,只有使用此libpath的工作流才会受到影响。

EN

回答 1

Stack Overflow用户

发布于 2018-02-12 13:30:58

AFAIK,不幸的是,没有干净的方法来做到这一点。

您可能对最近创建的特性请求感兴趣:https://issues.apache.org/jira/browse/OOZIE-3179

唯一对我起作用的是使用hdfs中存储的脚本的shell步骤开始工作流。此脚本保存集中式配置。脚本将如下所示:

代码语言:javascript
复制
#!/bin/sh
echo "oozie.use.system.libpath=true"
echo "hbase_zookeeper_quorum=localhost"
.. etc other system or custom variables ..

是的,脚本只是将变量打印到stdout。假设shell步骤操作称为"global_config“。以下所有步骤都可以使用以下语法获得变量:

代码语言:javascript
复制
${wf:actionData('global_config')['hbase_zookeeper_quorum']}

嗯..。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46220293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档