问题标签 [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.
hadoop - 将参数从 coordinator.xml 传递到 workflow.xml oozie
我有一个要求,我需要将日期从协调员带到 oozie 中的工作流。
为此,我开发了以下示例协调器和工作流程。但是,在启动协调器作业后,所有工作流作业都失败并出现错误代码 E0701。表示 xml 解析错误。我几乎没有尝试过,我做错了什么?我找不到问题?请帮忙。
工作流.xml
协调器.xml
工作属性
命令使用
hadoop - 无法在 oozie 工作流 EL 中获取工作流 ID
我正在尝试在 oozie 工作流 EL 中获取工作流 ID,
${wf:id()}
执行后,oozie 抱怨没有函数映射到相同的函数。同样的事情发生在wf:username()
但是我能够得到wf:actionData
.
将 oozie-3.3.2-cdh4.5.0 与示例工作流一起使用:
谢谢。
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
- 用户对所有作业具有写入权限 管理员用户对管理操作具有写入权限
我是否忽略了配置中的某些内容?我是否需要指定/配置如下内容:
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
oozie-coordinator - oozie 协调器中的多个工作流
我有三个工作流 XML 文件,例如 WF1 WF2 WF3。我可以将所有这些工作流程链接到一个协调员中以执行以下操作吗?WF1 是时间相关 WF2 是文件相关性 WF3 是无任何相关性。
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
. 有谁知道提交猪工作的等效方法?
hadoop - Oozie worflow,配置 mapreduce 操作以仅在一组文件上运行 reducer/combiner
我想在 oozie 工作流中为现有的 mapreduce jar(带有映射器、reducer 和有时还包括组合器)文件配置一个 mapreduce 操作,这样只有 reducer/combiner 在输入文件上运行。
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 脚本,似乎没有高性能的解决方案。
google-cloud-storage - Oozie - 谷歌云存储 - 删除文件
我正在尝试从 oozie 删除谷歌云中的文件。我正在创建一个虚拟脚本并通过 oozie 执行它。我有一个准备声明,我说“删除 gs://.....”
它不起作用,错误是“不支持模式 gs”。否则我怎么能在 oozie 工作流程中删除谷歌云存储文件。
hadoop - 通过协调员提交作业时,oozie 模拟了哪个用户
用户模拟/传播如何在 oozie 中工作?