问题标签 [oozie-coordinator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5373 浏览

hadoop - 将参数从 coordinator.xml 传递到 workflow.xml oozie

我有一个要求,我需要将日期从协调员带到 oozie 中的工作流。

为此,我开发了以下示例协调器和工作流程。但是,在启动协调器作业后,所有工作流作业都失败并出现错误代码 E0701。表示 xml 解析错误。我几乎没有尝试过,我做错了什么?我找不到问题?请帮忙。

工作流.xml

协调器.xml

工作属性

命令使用

0 投票
0 回答
301 浏览

hadoop - 无法在 oozie 工作流 EL 中获取工作流 ID

我正在尝试在 oozie 工作流 EL 中获取工作流 ID,

${wf:id()}

执行后,oozie 抱怨没有函数映射到相同的函数。同样的事情发生在wf:username()

但是我能够得到wf:actionData.

将 oozie-3.3.2-cdh4.5.0 与示例工作流一起使用:

谢谢。

0 投票
2 回答
3100 浏览

oozie - 无法终止或暂停 oozie 协调器作业

当我尝试杀死或暂停时,我在用户“runner”下提交了 oozie 协调器作业,我收到以下错误消息:

从 oozie 服务器上的日志中,我看到以下消息:

有时甚至我发出命令的用户也没有正确记录。

我正在使用 CentOS 6.3 和 Oozie Oozie 客户端构建版本:4.0.0.2.0.6.0-101,Oozie 服务器构建版本:4.0.0.2.0.6.0-101

我什至无法在运行服务器的用户 oozie 下停止它。在提交作业的用户下,我无法执行暂停、终止等操作。我只能执行通过流程或信息的提交运行。

任何提示/技巧还是我错误配置了一些明显的东西?

更新:我正在使用的实例的安全设置。

我的 conf/adminusers.txt 包含:

Hadoop core-site.xml

其中 runner 是用户组的成员。根据 Oozie 文档:Oozie 有一个基本的授权模型:

  • 用户对所有作业具有读取权限
  • 用户对自己的作业具有写入权限
  • 用户对基于访问控制列表(用户和组列表)的作业具有写入权限
  • 用户拥有管理员操作的读取权限 Admin
  • 用户对所有作业具有写入权限 管理员用户对管理操作具有写入权限

我是否忽略了配置中的某些内容?我是否需要指定/配置如下内容:

0 投票
5 回答
11338 浏览

hadoop - 错误:E0902:发生异常:[用户:不允许 Root 冒充 root

我正在尝试按照 http://www.rohitmenon.com/index.php/apache-oozie-installation/给出的步骤 注意:我没有使用 hadoop 的 cloudera 分发

上面的链接类似于http://oozie.apache.org/docs/4.0.1/DG_QuickStart.html 但在我看来更具描述性但是在以 root 用户身份运行以下命令时我得到了异常 ./bin/ oozie-setup.sh 共享库创建 -fs

注意:我在 dfshealth.jsp 显示了两个实时节点。我已经更新了所有三个(包括namenode)的core-site.xml,属性如下

我明白这是我犯错的地方有人可以指导我吗

注意:获取 E0902:发生异常:[用户:oozie 不允许冒充 oozie] 我也关注了此链接,但无法解决我的问题

我收到异常为超级用户的未经授权的连接:hadoop

0 投票
1 回答
1077 浏览

oozie-coordinator - oozie 协调器中的多个工作流

我有三个工作流 XML 文件,例如 WF1 WF2 WF3。我可以将所有这些工作流程链接到一个协调员中以执行以下操作吗?WF1 是时间相关 WF2 是文件相关性 WF3 是无任何相关性。

0 投票
1 回答
158 浏览

hadoop - 使用 oozie 工作流文件元素的外部文件运行 pig UDF 的等效方法

我有一个主要是猪工作的 oozie 工作流程。

其中workflow.xml有一条线<file>${hdfsPath}/hdfsLineItem.txt#LineItem.txt</file>

此文件用于其中一个 UDF,它被其他 UDF 间接使用,源代码片段为in = new DataInputStream(new FileInputStream("./LineItem.txt"));

我没有提交 oozie 工作的权限,但我可以提交猪工作。但是,我找不到使用该外部文本文件提交猪作业的等效方法。

我将该文件复制到我的空间并运行pig myscript.pig -file LineItem.txt,但 UDF 会抛出IOException. 有谁知道提交猪工作的等效方法?

0 投票
1 回答
188 浏览

hadoop - Oozie worflow,配置 mapreduce 操作以仅在一组文件上运行 reducer/combiner

我想在 oozie 工作流中为现有的 mapreduce jar(带有映射器、reducer 和有时还包括组合器)文件配置一个 mapreduce 操作,这样只有 reducer/combiner 在输入文件上运行。

0 投票
1 回答
666 浏览

hadoop - 如何在 Pig 中转换参数?

我需要在 Pig 中处理一个数据集,该数据集每天午夜可用一次。因此,我有一个 Oozie 协调员负责安排日程,并在每天 00:00 产生一个工作流。文件名遵循 URI 方案

其中 ${HOUR} 始终为“00”。

数据集中的每个条目都包含一个 UNIX 时间戳,我想过滤掉那些在晚上 11:45(23:45)之前具有时间戳的条目。由于我需要在过去的数据集上运行,定义阈值的时间戳值需要根据当前处理的日期动态设置。例如,处理 2013 年 12 月 12 日的数据集需要阈值 1418337900。因此,设置阈值必须由协调器完成。

据我所知,在 EL 中不可能将格式化日期转换为 UNIX 时间戳。我想出了一个非常老套的解决方案:协调器将阈值的日期和时间传递给启动 Pig 脚本的参数化实例的相应工作流。

coordinator.xml 的摘录:

workflow.xml 的摘录:

Pig 脚本需要将此格式化的日期时间转换为 UNIX 时间戳。因此,我写了一个 UDF:

在 Pig 脚本中,创建了一个宏,使用协调器/工作流的输入初始化 UDF。然后,您可以过滤时间戳。

我遇到的问题引出了一个更普遍的问题,是否可以在 Pig 中转换输入参数并再次将其用作某种常量。有没有更好的方法来解决这个问题,还是我的方法不必要地复杂?

编辑:TL;DR

经过更多搜索后,我发现有人遇到同样的问题: http: //grokbase.com/t/pig/user/125gszzxnx/survey-where-are-all-the-udfs-and-macros

感谢 Gaurav 在 piggybank 中推荐 UDF。如果不使用declare和 shell 脚本,似乎没有高性能的解决方案。

0 投票
1 回答
187 浏览

google-cloud-storage - Oozie - 谷歌云存储 - 删除文件

我正在尝试从 oozie 删除谷歌云中的文件。我正在创建一个虚拟脚本并通过 oozie 执行它。我有一个准备声明,我说“删除 gs://.....”

它不起作用,错误是“不支持模式 gs”。否则我怎么能在 oozie 工作流程中删除谷歌云存储文件。

0 投票
3 回答
2734 浏览

hadoop - 通过协调员提交作业时,oozie 模拟了哪个用户

用户模拟/传播如何在 oozie 中工作?