Azkaban--介绍及对比其他调度框架

什么是工作流?

  • 很多个程序,完成一个具体的任务
  • 任务流/工作流

什么是调度?

  • 将任务流中的每个程序按照顺序和规则运行,就是调度
    用于实现整个大数据平台中所有任务的自动化运行
    在这里插入图片描述
    举例
  • job1、job2、job3是数据采集程序,只要过了00:00,昨天的数据就全部生成了 ,程序就可以启动进行采集
    • 定时调度
    • 而且job1、job2、job3之间没有关系,可以并行运行
  • job4、job5、job6是ETL的程序
    • job4必须的等待job1/job2/job3都完成了,才能执行
    • job5必须等待job4完成了才能运行
    • job6必须等待job5完成了才能完成
    • job6完成了,整个ETL才结束
  • job7、job8、job9是数据分析程序
    • 都必须等待job6完成了才能对ETL以后的数据做分析
    • 这三个彼此之间没有关联,可以并行运行
  • job10:导出分析结果的程序
    • 必须等待所有的分析的结果都产生了,才能执行
    • 必须等待job7/job8/job9都完成了,才能执行

调度类型

  • 时间调度:基于某种时间条件运行程序
    只有工作流中的第一层的程序需要定时调度
  • 依赖调度:基于某种依赖关系运行程序
    后面的每一层都是依赖调度

简单的调度

基于时间的任务调度系统:Linux Crontab

可以基于时间实现定时调度

  • 指定时间运行某个Linux命令
  • 操作
crontab -e:编辑定时任务
crontabl -l:查看当前的定时任务
crontab -r:清空当前所有的定时任务
crontab -u username -f filename :指定某个文件成为某个用户的定时任务列表
  • 语法
*               *               *           *           *           command
分钟            小时              天          月          周           命令
00-59          00-23            1-31        1-12       0-7          shell command
​
​
*/5     *   *   *   * :每隔5分钟执行一次这个命令
0    1,13   *   *   * :每天的1点和13点执行一次这个命令
0    1-13   *   *   * :每天的1-13点之间每隔1个小时执行一次
0    */1    *   *   * :每个小时执行一次
0       13  1   *   * :每个月的1号的13:00执行一次
0       13  1   1   * : 每年11号的13:00执行一次
0   12      *   *   7 : 每周日的12点执行一次
  • 很多的有时间调度的工具中都会采用LinuxCrontab的表达式来实现定时调度
  • 特点:只能实现基于时间的调度

基于调度器系统的YARN

是用于调度大数据的程序的

  • 公平调度
  • YARN只能调度运行在YARN上的程序
  • YARN内部的调度

Azkaban

  • 用于实现大数据平台的工作流的任务调度
    • 时间调度
    • 依赖调度

Azkaban架构

在这里插入图片描述

  • 分布式架构:主从架构
  • WebServer
    • 主节点
    • 负责提供整个与用户交互的界面
    • 用户可以在界面中查询、提交工作流
    • 所有的工作节点向WebServer进行注册
    • 分配任务给ExecServer
  • ExecServer
    • 从节点
    • 负责执行WebServer分配的工作流
    • 3.0版本以后:支持有多个Exec
  • MySQL
    • 元数据存储
    • 存储Azkaban中关键性的数据
    • Executor节点的信息:状态、所在的机器
    • 工作流的信息

对比其他调度框架

Oozie

  • 优点:功能全
  • 缺点:自己不是分布式,依赖MapReduce;不友好(xml开发、界面类似XP)
  • 怎么个不友好
    • 开发:通过xml来开发工作流
    • 使用:界面类似于Windows XP
    • 为了解决这个问题,Cloudera公司后来有另外一个工具Hue
    • 与oozie放在一起用,可以让Oozie变得好用也好看
      在这里插入图片描述
      在这里插入图片描述

Zeus

  • 优点:自己是分布式友好(中文,界面类似win7)
  • 缺点:功能少,bug相对较多
  • 阿里巴巴研发的产品在这里插入图片描述

Azkaban

  • 优点:功能全;自己是分布式【3.x版本开始】;友好,操作和开发都比较简单
  • 缺点:需要很多插件在这里插入图片描述
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值