概括

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年多过后还没有修复

https://github.com/azkaban/azkaban/issues/952

重启影响

重启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的更多相关文章

  1. 【原创】大数据基础之Oozie(3)Oozie从4.3升级到5.0

    官方文档如下: http://oozie.apache.org/docs/5.0.0/AG_OozieUpgrade.html 这里写的比较简单,大概过程如下:1 下载5.0代码并编译:2 解压5.0 ...

  2. 【原创】大数据基础之Oozie(1)简介、源代码解析

    Oozie4.3 一 简介 1 官网 http://oozie.apache.org/ Apache Oozie Workflow Scheduler for Hadoop Hadoop生态的工作流调 ...

  3. 【原创】大数据基础之Oozie(2)使用

    命令行 $ oozie help 1 导出环境变量 $ export OOZIE_URL=http://oozie_server:11000/oozie 否则都需要增加 -oozie 参数,比如 $ ...

  4. 【原创】大数据基础之Oozie(4)oozie使用的spark版本升级

    oozie默认使用的spark是1.6,一直没有升级,如果想用最新的2.4,需要自己手工升级 首先看当前使用的spark版本的jar # oozie admin -oozie http://$oozi ...

  5. 【原创】大数据基础之Zookeeper(2)源代码解析

    核心枚举 public enum ServerState { LOOKING, FOLLOWING, LEADING, OBSERVING; } zookeeper服务器状态:刚启动LOOKING,f ...

  6. 【原创】大数据基础之词频统计Word Count

    对文件进行词频统计,是一个大数据领域的hello word级别的应用,来看下实现有多简单: 1 Linux单机处理 egrep -o "\b[[:alpha:]]+\b" test ...

  7. 【原创】大数据基础之Impala(1)简介、安装、使用

    impala2.12 官方:http://impala.apache.org/ 一 简介 Apache Impala is the open source, native analytic datab ...

  8. 【原创】大数据基础之Benchmark(2)TPC-DS

    tpc 官方:http://www.tpc.org/ 一 简介 The TPC is a non-profit corporation founded to define transaction pr ...

  9. 大数据调度工具oozie详细介绍

    背景 之前项目中的sqoop等离线数据迁移job都是利用shell脚本通过crontab进行定时执行,这样实现的话比较简单,但是随着多个job复杂度的提升,无论是协调工作还是任务监控都变得麻烦,我们选 ...

随机推荐

  1. SpringBoot整合Sqlite数据库流程

    1.创建项目 方式一: 通过网站https://start.spring.io/ 方式二: 通过开发工具(IDEA或者Eclipse自行百度) 2.修改pom.xml配置文件,添加必要的驱动包 < ...

  2. Ajax跨域请求,无法传递及接收cookie信息

    最近在做一个系统遇到一个问题,在网上找个一个和我遇到相同问题的(原文地址:https://www.cnblogs.com/helloyy/p/6109665.html)按照他的步骤还是没有解决,继续查 ...

  3. 其它综合-企业级CentOS 7.6 操作系统的安装

    企业级CentOS 7.6版本安装过程 1. 环境: 使用的虚拟机软件是VMware,版本为 12 .(网上一搜一大推,在此不再演示.) 使用的ISO镜像为CentOS7.6.(自己也可以在网上搜镜像 ...

  4. 企业nginx应用实例(功能拆分记录)

    一.默认访问协议强制跳转(http--->https) server { listen ; server_name dannylinux.top www.dannylinux.top; # re ...

  5. Linux 学习 (十一) 软件安装管理

    Linux软件安装管理 学习笔记 软件包简介 软件包分类: 源码包 :脚本安装包 二进制包(RPM 包.系统默认包) 源码包的优点: 开源,如果有足够的能力,可以修改源代码 可以自由选择所需的功能 软 ...

  6. 深度学习之前期准备工作--python,pip,numpy,tensorflow安装

    1.下载并安装python https://www.python.org/downloads/windows/ 推荐3.6.5版本 2.激活pip 1.>因为python3.4之后都自带了pip ...

  7. 雷军微博拧螺丝,CFO为粉丝数发愁

    导读 小米集团联合创始人.品牌战略官黎万强4年前写的书<参与感>,估计又要热卖了. 3月24日,小米CFO周受资发微博,“我刚接受了同事的挑战,要在一定时间内在微博上有更多的粉丝”,并向粉 ...

  8. 【C/C++】Dijkstra算法的简洁实现

    Dijkstra的实现有很多种,下面给出一种较为简洁和高效的实现,可以作为模板快速使用. 1. 使用邻接表存储图: 2. 使用标准STL的vector存储每个点的所有邻接边: 3. 使用pair记录当 ...

  9. python基础5 字典

    一.字典 字典是python的基础数据类型之一:字典可以存储大量的数据,关系型数据. 同样他也是python中唯一的映射类的数据类型. 数据类型的分类: 可变的(不可哈希)数据类型:list,dict ...

  10. jmeter5.1测试websocket接口

    jmeter没有websocket协议的取样器,需要我们自己开发,但是网上已经有大神先开发好了,[相关jar包,点击左侧加群获取] 只需要放到jmeter的ext目录(D:\apache-jmeter ...