我正在阅读oozie文档,我知道它是一个分布式工作流程调度程序。
是否能够在已提交oozie作业的群集上安排工作流程?换句话说,oozie能够在集群中的任何随机节点上调度作业或运行脚本,是否能够在客户端机器/边缘节点/其他集群上执行操作(例如distcp)。
答案 0 :(得分:1)
是的,它可以完成,它是一种数据感知服务,用于协调在Hadoop上运行的作业之间的依赖关系。 其中包括HDFS,Pig,Hive,Python,Shell,Map Reduce Java,SSH,DISTCP,以及称为UDF的自定义动作执行器。
参考:BLOG您可以查看有用的样本,还有更多内容,其中介绍了有关使用的更多信息
答案 1 :(得分:1)
Oozie本身不分发;该服务在边缘节点上运行" (具有所有Hadoop库和配置但不运行作业或存储HDFS文件的计算机)并使用数据库(通常为MySQL)来存储所有作业定义和状态。
Oozie 协调员定义必须触发工作流的时间和方式。
一些简单的步骤(例如发送电子邮件)由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