• 【原创】大数据基础之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年多过后还没有修复

    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

    不支持

  • 相关阅读:
    JavaScript学习笔记(三十八) 复制属性继承
    每天一道逻辑思维题
    动态规划(4):求子数组最大和
    30天自制操作系统第四天学习笔记
    UVA 1344 Tian Ji -- The Horse Racing
    Word隐藏回车符技巧
    Apache Thrift
    Android更改桌面应用程序launcher的两种方式
    Java语言实现简单FTP软件------>FTP软件效果图预览之下载功能(二)
    Java Collection
  • 原文地址:https://www.cnblogs.com/barneywill/p/9895148.html
Copyright © 2020-2023  润新知