zoukankan      html  css  js  c++  java
  • 【原创】大数据基础之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

    不支持

  • 相关阅读:
    九项重要的职业规划提示
    Java程序员应该掌握的十项技术
    把QQ炫铃变为本机系统提示音
    maven 安装jar到库中
    Java程序连接各种数据库的方法
    J2EE体系架构概述
    一个完整的项目管理流程(适合软件开发)
    JavaScript函数调用时的作用域链和调用对象是如何形成的及与闭包的关系
    iframe自适应及offsetHeight/Width+scrollHeight/Width区别
    JavaBean的绑定属性及约束属性[转]
  • 原文地址:https://www.cnblogs.com/barneywill/p/9895148.html
Copyright © 2011-2022 走看看