Azkaban体系结构

应用场景

  • 是由领英公司实现,用于在处理ETL任务时,解决多个Hadoop job运行依赖关系。如Hadoop MR job,Spark job,hive 任务等

  • 初期是以单台服务器进行提供服务,但是存在单点故障的问题。随着发展,出现了高可用的解决方案,增加了Azkaban任务调度的鲁棒性

  • 架构设计
    Azkaban体系架构

azkaban三大组件

RDB(MySQL)

  • 关系型数据,用来存储在Azkaban新键项目信息,作业依赖关系,调度信息,job触发信息,日志等元数据,保留azkaban作业运行状态。通过提前创建azkaban使用数据库,执行对应SQL文件提前生成。
  • 数据库的元数据使用场景,
    1.项目管理
    2.保存job/flow作业修改状态,
    3.执行job/flow
    4.搜索以及查看之前的job或flow
    5.存储azkaban job运行输出的日志
    6.维护不同executor执行flow的状态
    7.保证SLA安全访问验证
    

WebSever

  • 所有azkaban服务的主管理器,用于项目管理、安全认证、job调度、运行监控,
    回传这些数据给web页面
  • azkaban内置jetty服务器,用于接收从web页面创建的job信息,定时触发,调度、运行作业
  • 使用文件后缀为“.job”、key-value参数配置的方式区定义work flow的私有任务,并且可以使用”dependencies”来定义job chain的依赖。创建完毕的作业和代码归档为zip文件,通过azkaban web界面上传到webServer或者是curl命令上传,用于azkabanServer调度,运行。

ExecutorServer

  • 早期版本中,azkaban单点服务包含WebServer,ExecutorServer。
  • 新的版本中,二者被划分为单独的服务。分割原因如下
    1.用于执行job的Executor服务的扩展
    2.Executor执行job的故障恢复
    3.在升级azkaban时,降低对用户的影响及使用难度。
    

azkaban两种模式

  • 2.5版本以后提供单点模型,和重量级server模式

solo-server

  • 单点模式,数据库内嵌在H2,并且webServer和executor运行在同一个进程里面。如果是对azkaban试用,该模式比较方便

two server mode

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值