vlambda博客
学习文章列表

【必知】Hadoop工作流引擎调度器--Azkaban与Oozie的区别。

大家好,我是勾叔。今天和大家一起来分析Azkaban与Oozie的区别。
目前,市面上最流行的两种Hadoop工作流引擎调度器是Azkaban与Oozie,我们将从功能、工作流定义、工作流传参、定时执行、资源管理、工作流执行等方面来进行分析比对。


1. 功能

Azkaban与Oozie均可以调度mapreduce、pig、java脚本工作流任务。
Azkaban与Oozie均可以定时执行工作流任务。

2. 工作流定义

Azkaban使用Properties文件定义工作流。
Oozie使用XML文件定义工作流。

3. 工作流传参

Azkaban支持直接传参,例如${input}。
Oozie支持参数和EL表达式,例如${fs:dirSize(myInputDir)}。

4. 定时执行

Azkaban的定时执行任务是基于时间的。
Oozie的定时执行任务是基于时间和输入数据资源管理。

5. 工作流执行

Azkaban有两种运行模式,分别是solo server mode(executor server和web server部署在同⼀台节点)和multi server mode(executor server和web server可以部署在不同节点)。
Oozie作为工作流服务器运行,支持多用户和多工作流。
综上所述,Ooize相比Azkaban是一个重量级的任务调度系统,功能全面,但配置使用也更复杂(xml)。如果可以不在意某些功能的缺失,轻量级调度器Azkaban是很不错的候选对象。
大家如果想进行更深入的了解和学习,请关注勾叔谈大数据参与更多互动。


推荐阅读: