【原创】大数据基础之Oozie vs Azkaban
概括
Azkaban是一个非常轻量的开源调度框架,适合二次开发,但是无法直接用于生产环境,存在致命缺陷(比如AzkabanWebServer是单点,1年多时间没有修复),在一些情景下的行为简单粗暴(比如重启AzkabanExecutorServer会导致该server上正在运行的所有流程fail),很多时候需要人工干预,要达到生产环境的可靠性级别,至少大量二次开发,并且官方代码更新很快,合并代码有很大冲突风险,适合于一些对可靠性要求不高可以快速上手的小公司,不建议使用;
Oozie作为apache顶级项目,使用广泛,功能丰富,代码质量高,成熟可靠,代码和部署相对复杂一点,建议使用;
|
|
Oozie |
Azkaban |
|
版本 |
4.3 |
3.45 |
|
开发语言 |
Java |
Java |
|
任务配置 |
Xml文件(存放在hdfs) Properties文件 |
Properties文件(打成Zip,上传后存放在DB) |
|
添加任务 |
hdfs上传Xml文件后client通过Properties文件提交 |
web上传Zip AJAX上传Zip |
|
任务运行 |
Yarn |
AzkabanExecutorServer执行 |
|
分配粒度 |
任务 |
工作流 |
|
失败重试 |
支持 |
支持 |
|
扩展性 |
好,支持服务扩展、任务扩展 |
好,支持插件化、任务扩展 |
|
接口 |
命令行 Java API |
网页 AJAX API |
|
支持任务类型 |
HDFS、MapReduce、Java、Shell、SSH、Pig、Hive、E-Mail、Sub-Workflow、Sqoop、Distcp |
Shell、Java 其他需要插件支持 |
|
部署 |
相对复杂 |
简单 |
|
GUI |
开源Hue提供GUI方式编辑流程定义 |
不提供GUI编辑流程定义 |
|
可靠性 |
可靠 通过Zookeeper实现HA |
不可靠 AzkabanWebServer是单点,17年3月社区就提到该问题,但1年多过后还没有修复 |
|
重启影响 |
无 |
重启AzkabanExecutorServer会导致该server上正在运行的所有流程fail,还可能需要刷新executors状态 |
|
代码质量 |
非常好 |
一般,并且代码中很多TODO |
|
代码更新 |
慢 |
很快,小版本很多 |
|
任务重复运行风险 |
无 |
有 |
|
SLA |
支持 |
支持 |
|
监控 |
web-services API instrumentation log |
不支持 |
|
流程状态回调 |
JMS 或 oozie.coord.action.notification.url oozie.wf.workflow.notification.url oozie.wf.action.notification.url |
不支持 |
【原创】大数据基础之Oozie vs Azkaban的更多相关文章
- 【原创】大数据基础之Oozie(3)Oozie从4.3升级到5.0
官方文档如下: http://oozie.apache.org/docs/5.0.0/AG_OozieUpgrade.html 这里写的比较简单,大概过程如下:1 下载5.0代码并编译:2 解压5.0 ...
- 【原创】大数据基础之Oozie(1)简介、源代码解析
Oozie4.3 一 简介 1 官网 http://oozie.apache.org/ Apache Oozie Workflow Scheduler for Hadoop Hadoop生态的工作流调 ...
- 【原创】大数据基础之Oozie(2)使用
命令行 $ oozie help 1 导出环境变量 $ export OOZIE_URL=http://oozie_server:11000/oozie 否则都需要增加 -oozie 参数,比如 $ ...
- 【原创】大数据基础之Oozie(4)oozie使用的spark版本升级
oozie默认使用的spark是1.6,一直没有升级,如果想用最新的2.4,需要自己手工升级 首先看当前使用的spark版本的jar # oozie admin -oozie http://$oozi ...
- 【原创】大数据基础之Zookeeper(2)源代码解析
核心枚举 public enum ServerState { LOOKING, FOLLOWING, LEADING, OBSERVING; } zookeeper服务器状态:刚启动LOOKING,f ...
- 【原创】大数据基础之词频统计Word Count
对文件进行词频统计,是一个大数据领域的hello word级别的应用,来看下实现有多简单: 1 Linux单机处理 egrep -o "\b[[:alpha:]]+\b" test ...
- 【原创】大数据基础之Impala(1)简介、安装、使用
impala2.12 官方:http://impala.apache.org/ 一 简介 Apache Impala is the open source, native analytic datab ...
- 【原创】大数据基础之Benchmark(2)TPC-DS
tpc 官方:http://www.tpc.org/ 一 简介 The TPC is a non-profit corporation founded to define transaction pr ...
- 大数据调度工具oozie详细介绍
背景 之前项目中的sqoop等离线数据迁移job都是利用shell脚本通过crontab进行定时执行,这样实现的话比较简单,但是随着多个job复杂度的提升,无论是协调工作还是任务监控都变得麻烦,我们选 ...
随机推荐
- 【转】Python爬虫:抓取新浪新闻数据
案例一 抓取对象: 新浪国内新闻(http://news.sina.com.cn/china/),该列表中的标题名称.时间.链接. 完整代码: from bs4 import BeautifulSou ...
- Laravel 入口文件解读及生命周期
这里只贴index.php的代码, 深入了解的请访问 https://laravel-china.org/articles/10421/depth-mining-of-laravel-life- ...
- nginx(二)nginx的安装
下载 nginx官网下载地址 把源码解压缩之后,在终端里运行如下命令: ./configure make make install 默认情况下,Nginx 会被安装在 /usr/local/nginx ...
- Flask 框架介绍
FLASK 框架 框架介绍 简单来说: 小 扩展性极强 官方文档 点这里 Flask 和 Django 的区别 Django 无socke,依赖第三方模块wsgi 路由系统(CBV,FBV) 中间件, ...
- js jquery 判断元素是否在数组内(转)
一,js方法 var arr = ["a", "b", "c"]; // js arr.indexOf("c") var ...
- Security+认证812分轻松考过(备战分享)
2019.02.12,开工第一天,我参加了security+考试并顺利通过了考试,812分的成绩有点出乎我的意料,据我所知我周围还没有人考过800分的.怀着愉悦的心态分享下我的备考经历和考试经验. 备 ...
- Vue(小案例_vue+axios仿手机app)_图片列表操作
一.前言 1.让图片还没有被完全加载出来的时候给用户提示 2.图片查看器 二.主要内容 1.让图片还没有被完全加载出来的时候 ...
- 关于try catch finally 三者之间的关系(JDK 1.8)
话不多说 线上代码 package System; import java.util.Scanner; /** * * @author chris * */ public class TryCathf ...
- Pandas系列(十一)-文件IO操作
数据分析过程中经常需要进行读写操作,Pandas实现了很多 IO 操作的API,这里简单做了一个列举. 格式类型 数据描述 Reader Writer text CSV read_ csv to_cs ...
- 缓存服务—Redis
Redis 简介Redis 是一个开源(BSD 许可)的.内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 为什么要用 Redis 在高并发场景下,如果需要经常连接结果变动频繁的数据库, ...