Oozie分布式调度程序

时间:2016-01-04 05:40:16

标签: oozie oozie-coordinator

我正在阅读oozie文档,我知道它是一个分布式工作流程调度程序。

是否能够在已提交oozie作业的群集上安排工作流程?换句话说,oozie能够在集群中的任何随机节点上调度作业或运行脚本,是否能够在客户端机器/边缘节点/其他集群上执行操作(例如distcp)。

2 个答案:

答案 0 :(得分:1)

是的,它可以完成,它是一种数据感知服务,用于协调在Hadoop上运行的作业之间的依赖关系。 其中包括HDFS,Pig,Hive,Python,Shell,Map Reduce Java,SSH,DISTCP,以及称为UDF的自定义动作执行器。

参考:BLOG您可以查看有用的样本,还有更多内容,其中介绍了有关使用的更多信息

答案 1 :(得分:1)

Oozie本身分发;该服务在边缘节点上运行" (具有所有Hadoop库和配置但不运行作业或存储HDFS文件的计算机)并使用数据库(通常为MySQL)来存储所有作业定义和状态。

Oozie 协调员定义必须触发工作流的时间和方式。

Oozie 工作流程是直接非循环图(DAG),即简单步骤的链 - 一些步骤可以并行执行,步骤的链接可以是有条件的,但是没有循环(那就是A在DAG中意味着什么

一些简单的步骤(例如发送电子邮件)由Oozie直接完成,但所有其余步骤都转换为YARN作业 - 然后YARN在随机模式下运行这些作业。这些作业可以真正地分发"或者不是(例如,Shell Action被翻译成单个Mapper,运行Oozie引导程序JAR,运行shell解释程序,运行提供的脚本) - 结束只有1个过程的并行处理... duh)

请注意,单个Oozie服务可以在多个群集上运行作业,这就是为什么每个工作流必须指定NameNode和JobTracker (ResourceManager实际上是YARN)

您可能希望在14章中浏览这个旧的但全面的教程: http://hadooped.blogspot.fr/2013/06/apache-oozie-part-1-workflow-with-hdfs.html