有没有办法在 Oozie 中全局使用 config-default.xml ?

2024-06-09

来自文档 https://oozie.apache.org/docs/4.1.0/WorkflowFunctionalSpec.html#a4_Parameterization_of_Workflows, config-default.xml必须出现在工作流程工作区中。

- /workflow.xml
- /config-default.xml
|
- /lib/ (*.jar;*.so)

问题

我创建了一个自定义 Oozie 操作并尝试添加默认值retry-max and 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 and default_retry_interval.

我尝试过的

  1. Putting config-default.xml到每个工作流程工作区。这可行,但问题是到处都会有这个文件。

  2. Setting oozie.service.LiteWorkflowStoreService.user.retry.max and oozie.service.LiteWorkflowStoreService.user.retry.inteval也有效,但它会影响所有操作类型。

  3. 我也看过全局配置 https://oozie.apache.org/docs/4.1.0/WorkflowFunctionalSpec.html#a19_Global_Configurations,但这并不能解决这个问题。

我认为应该有一种方法config-default.xml to oozie.libpath并且只有那些使用此功能的工作流程libpath会受到影响。


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

您可能对这个最近创建的功能请求感兴趣:https://issues.apache.org/jira/browse/OOZIE-3179 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 ..

是的,脚本只是将变量打印到标准输出。 假设 shell 步骤操作名为“global_config”。以下所有步骤都可以使用以下语法获取变量:

${wf:actionData('global_config')['hbase_zookeeper_quorum']}

HTH...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法在 Oozie 中全局使用 config-default.xml ? 的相关文章

  • hue+oozie并发集群阻塞的调优经历

    hue oozie并发集群阻塞的调优经历 问题描述 使用hue oozie进行数据仓库开发 部署了大量workflow和并发任务 定时晚上集中时间执行时出现任务卡死状态 全部是oozie launcher的job任务 方案一 调大集群资源
  • Hadoop 作业失败,资源管理器无法识别 AttemptED

    我正在尝试在 Oozie 工作流程中聚合一些数据 但是聚合步骤失败 我在日志中发现了两个有趣的点 第一个是一个似乎重复出现的错误 容器完成后 它会被终止 但会以非零退出代码 143 退出 它完成了 2015 05 04 15 35 12 0
  • 构建oozie:未知主机repository.codehaus.org

    我正在尝试构建从此处下载的 Oozie 4 2 0 http ftp cixug es apache oozie 4 2 0 oozie 4 2 0 tar gz 启动构建后 bin mkdistro sh DskipTests 我收到此错
  • Distcp - 容器运行超出物理内存限制

    我已经在 distcp 上苦苦挣扎了好几天 我发誓我已经用谷歌搜索得够多了 这是我的用例 USE CASE 我在某个位置有一个主文件夹 hdfs 根目录 有很多子目录 深度不固定 和文件 容量 200 000 个文件 30 GO 我只需要为
  • E0701 OOZIE 工作流程中的 XML 架构错误

    以下是我的workflow xml
  • 如何强制协调员行动以特定频率实现?

    我想知道是否有可能 如何强制协调员定期具体化或实例化工作流程 即使先前实例化的工作流程尚未完成 让我解释 我有一个简单的协调员 如下所示
  • 尝试执行“bin/mkdistro.sh -DskipTests”时出现 Oozie 错误

    尝试安装 oozie 4 0 1 以下http www thecloudavenue com 2013 10 installation and configuration of html http www thecloudavenue co
  • 通过 Oozie HDP 2.1 进行的作业未创建 job.splitmetainfo

    当尝试执行 sqoop 作业时 该作业将我的 Hadoop 程序作为 jar 文件传递 给 jarFiles参数 执行失败并出现以下错误 任何解决方案似乎都无法实现 具有相同 Hadoop 用户的其他作业正在成功执行 org apache
  • oozie java api提交作业,kerberos身份验证错误

    我有 hadoop 2 7 集群 oozie 4 0 1 以安全模式运行 使用 kerberos 一切都很好 我可以使用 cli 命令提交作业 如下所示 基尼特我的用户 oozie工作 ooziehttps 10 1 130 10 2100
  • Sqoop 导出 Oozie 工作流程因找不到文件而失败,但从控制台运行时有效

    我有一个 6 个节点的 hadoop 集群 我通过 Sqoop 将数据从 MSSQL 中取出并返回到 MSSQL 中 Sqoop 导入命令工作正常 我可以从控制台 在 hadoop 节点之一 运行 sqoop 导出命令 这是我运行的 she
  • 如何在oozie作业中指定多个libpath?

    我的 oozie 工作使用 2 个 jarx jar and y jar以下是我的 job properties 文件 oozie libpath lib oozie use system libpath true 当两个 jar 都位于
  • Oozie Shell Action 的 stdout 和 stderr 输出

    在 Oozie 站点中 它说 Shell 操作的 stdout 和 stderr 输出被重定向到运行 shell 命令的 Oozie Launcher 映射减少作业任务 STDOUT 谁能告诉我具体应该去哪里看 Oozie 在 启动器 中运
  • Oozie shell 操作未作为提交用户运行

    我编写了一个 Oozie 工作流程 它运行 BASH shell 脚本来执行一些配置单元查询并对结果执行一些操作 该脚本运行但在访问某些 HDFS 数据时抛出权限错误 提交 Oozie 工作流的用户具有权限 但脚本以纱线用户身份运行 是否可
  • 我可以动态重命名oozie作业名称吗

    我们有一个 Hadoop 服务 其中有多个应用程序 我们需要通过重新执行相同的工作流程来处理每个应用程序的数据 这些计划在一天的同一时间执行 问题是 当这些作业运行时 很难知道作业正在为哪个应用程序运行 失败 成功 当然 我可以打开作业配置
  • Oozie SSH 操作

    Oozie SSH 操作问题 Issue 我们正在尝试在集群的特定主机上运行一些命令 我们为此选择了 SSH Action 我们面对这个 SSH 问题已经有一段时间了 这里真正的问题可能是什么 请指出解决方案 logs AUTH FAILE
  • 处理 oozie 工作流程中的循环

    我有一个 oozie 用例 用于检查输入数据可用性并根据数据可用性触发 MapReduce 作业 所以我编写了一个 shell 脚本来检查输入数据 并在 oozie 中为其创建了一个 ssh 操作 输入数据检查的重试次数和重试间隔应该是可配
  • 将 Spark 添加到 Oozie 共享库

    默认情况下 Oozie 共享 lib 目录提供 Hive Pig 和 Map Reduce 的库 如果我想在 Oozie 上运行 Spark 作业 最好将 Spark lib jar 添加到 Oozie 的共享库 而不是将它们复制到应用程序
  • 如何捕获 Oozie Spark 输出

    有没有办法捕获spark的输出然后将其输入到shell上 我们当前正在使用 scala 创建 jar 文件 并希望我们的 Spark 输出成为 shell 输入 我的想法是使用 wf actionData spark XXXX var 我只
  • 没有函数映射到名称“coord:formatTime”

    我正在尝试使用 oozie 中的以下内容获取当前时间戳
  • Oozie 工作流程:未找到 Hive 表,但它确实存在

    我有一个 oozie 工作流程 在 4 台机器的 CDH4 集群上运行 一台主控机 三台 哑 工作机 hive 元存储使用 mysql 在 master 上运行 存在驱动程序 oozie 服务器也使用 mysql 在 master 上运行

随机推荐