您的位置:首页 > 大数据

大数据协作框架之Oozie

2017-09-02 10:35 239 查看

一、Oozie的介绍

一个基于工作流引擎的开源框架,是由Cloudera公司贡献给Apache的,它能够提供对HadoopMapReduce和Pig Jobs的任务调度与协调。Oozie需要部署到Java Servlet容器中运行。Oozie工作流定义,同JBoss jBPM提供的jPDL一样,也提供了类似的流程定义语言hPDL,通过XML文件格式来实现流程的定义。对于工作流系统,一般都会有很多不同功能的节点,比如分支、并发、汇合等等。Oozie定义了控制流节点(Control
Flow Nodes)和动作节点(Action Nodes),其中控制流节点定义了流程的开始和结束,以及控制流程的执行路径(Execution Path),如decision、fork、join等;而动作节点包括Hadoop map-reduce、Hadoop文件系统、Pig、SSH、HTTP、eMail和Oozie子流程。 

二、Oozie的架构



Oozie三大实现功能:1)Workflow:顺序执行流程节点;2)Coordinator:定时触发workflow;3)Bundle Job:绑定多个coordinator。

Workflow:



Coordinator:



Bundle:



Oozie Server组件:



三、总结

在实际的企业项目中,由于业务需求的增多,MapRedcue/Hive Job较多,需要定时调度执行,并且某些业务功能需要多个Job进行协作完成,此时工作流调度框架Oozie正好为我们很好的解决此问题。Oozie功能很强大,在实际项目中只需掌握最基本使用最多的就好,其中WorkFlow中MapRedcue
Action和Shell Action最为常用,使用时注意workflow.xml文件编写,依赖包和文件。Oozie中调度功能很强大,不仅支持基于时间的调度,还是支持基于数据可用性的调度,目前企业使用最多的就是基于时间调度。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息