设为首页 收藏本站
查看: 1226|回复: 0

[经验分享] Hadoop工作流引擎之Azkaban与Oozie对比(四)

[复制链接]

尚未签到

发表于 2017-12-16 20:15:45 | 显示全部楼层 |阅读模式
Azkaban是什么?(一)
  Azkaban的功能特点(二)
  Azkaban的架构(三)
  不多说,直接上干货!
  http://www.cnblogs.com/zlslch/category/938837.html
  目前,市面上最流行的两种Hadoop工作流引擎调度器Azkaban与Oozie。
  具体,可以进一步看我的博客。
  Azkaban概念学习系列http://www.cnblogs.com/zlslch/category/938837.html
  和Oozie概念学习系列http://www.cnblogs.com/zlslch/category/916607.html
  下面的表格对上述2种hadoop工作流调度器的关键特性进行了比较,尽管这些工作流调度器能够解决的需求场景基本一致,但在设计理念,目标用户,应用场景等方面还是存在区别。
  特性
  Oozie
  Azkaban
  工作流描述语言
  XML (xPDL based)
  text file with key/value pairs
  依赖机制
  explicit
  explicit
  是否要web容器
  Yes
  Yes
  进度跟踪
  web page
  web page
  Hadoop job调度支持
  yes
  yes
  运行模式
  daemon
  daemon
  Pig支持
  yes
  yes
  事件通知
  no
  no
  需要安装
  yes
  yes
  支持的hadoop版本
  0.20+
  currently unknown
  重试支持
  workflownode evel
  yes
  运行任意命令
  yes
  yes
  Amazon EMR支持
  no
  currently unknown
Azkaban与Oozie对比
  对市面上最流行的两种调度器,给出以下详细对比。知名度比较高的应该是Apache Oozie,但是其配置工作流的过程是编写大量的XML配置,而且代码复杂度比较高,不易于二次开发。ooize相比azkaban是一个重量级的任务调度系统,功能全面,但配置使用也更复杂。如果可以不在意某些功能的缺失,轻量级调度器azkaban是很不错的候选对象。
  从功能上来对比
  两者均可以调度linux命令、mapreduce、spark、pig、java、hive、java程序、脚本工作流任务
  两者均可以定时执行工作流任务
  从工作流定义上来对比
  1、Azkaban使用Properties文件定义工作流
  2、Oozie使用XML文件定义工作流
  从工作流传参上来对比
  1、Azkaban支持直接传参,例如${input}
  2、Oozie支持参数和EL表达式,例如${fs:dirSize(myInputDir)}
  从定时执行上来对比
  1、Azkaban的定时执行任务是基于时间的
  2、Oozie的定时执行任务基于时间和输入数据
  从资源管理上来对比
  1、Azkaban有较严格的权限控制,如用户对工作流进行读/写/执行等操作
  2、Oozie暂无严格的权限控制
  从工作流执行上来对比
  1、Azkaban有三种运行模式:
  1.1、solo server mode:最简单的模式,数据库内置的H2数据库,管理服务器和执行服务器都在一个进程中运行,任务量不大项目可以采用此模式。
  1.2、 two server mode:数据库为mysql,管理服务器和执行服务器在不同进程,这种模式下,管理服务器和执行服务器互不影响
  1.3 、multiple executor mode:该模式下,执行服务器和管理服务器在不同主机上,且执行服务器可以有多个
  我这次采用第二种模式,管理服务器、执行服务器分进程,但在同一台主机上。
  2、Oozie作为工作流服务器运行,支持多用户和多工作流
  从工作流管理上来对比
  1、Azkaban支持浏览器以及ajax方式操作工作流
  2、Oozie支持命令行、HTTP REST、Java API、浏览器操作工作流
  另一版本区别:
  两者在功能方面大致相同,只是Oozie底层在提交Hadoop Spark作业是通过org.apache.hadoop的封装好的接口进行提交,而Azkaban可以直接操作shell语句。在安全性上可能Oozie会比较好。
  工作流定义:Oozie是通过xml定义的而Azkaban为properties来定义。
  部署过程:  Oozie的部署太虐心了。有点难。同时它是从Yarn上拉任务日志。
  Azkaban中如果有任务出现失败,只要进程有效执行,那么任务就算执行成功,这是BUG,但是Oozie能有效的检测任务的成功与失败。
  操作工作流:Azkaban使用Web操作。Oozie支持Web,RestApi,Java API操作。
  权限控制:   Oozie基本无权限控制,Azkaban有较完善的权限控制,入用户对工作流读写执行操作。
  Oozie的action主要运行在hadoop中而Azkaban的actions运行在Azkaban的服务器中。
  记录workflow的状态:Azkaban将正在执行的workflow状态保存在内存中,Oozie将其保存在Mysql中。
  出现失败的情况:Azkaban会丢失所有的工作流,但是Oozie可以在继续失败的工作流运行。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-424819-1-1.html 上篇帖子: Master HaKu 下篇帖子: hadoop实例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表