Azkaban理论知识:简介-产生背景-架构-部署模式-与Oozie对比

一、简介

Azkaban 是一个任务调度器,用于 运行Hadoop作业的 批处理工作流 的 作业调度。

二、产生背景

大数据的计算、分析和处理,一般都是由多个任务单元组成的,且多个任务单元之间存在强依赖关系。
上游任务成功执行完毕,下游任务 拿到上游的结果后 才能开始执行。
为了保证处理结果的有效性和精确性,就必须让任务严格按照上下游关系有序的、顺序的执行。
最简单的解决方式是:事先预估好每个模块执行所需要的时间,以时间段规划执行顺序。
但是,当面对突然激增的数据量时,某个单元未必能按时完成,就会对下游任务造成影响。
为了更好的结果这个问题,工作流调度系统应用而生,Azkaban就是其中一种。

三、架构

在这里插入图片描述
MySQL服务器: 存储元数据。
WebServer : 对外提供Web服务,用户可通过Web页面进行管理。
ExecutorServer:负责具体的工作流的提交、执行。

四、部署模式

单机模式
WebServer 和 ExecutorServer 运行在同一个进程中,进程名为 AzkabanSingleServer。
使用自带的H2数据库。
一般用来学习和测试。

远程模式
WebServer 和 ExecutorServer 运行在不同的进程中。
使用 MySQL数据库。

集群或分布式模式
WebServer 和 ExecutorServer 运行在不同的机器中,拥有多个ExecutorServer 。
使用 MySQL数据库。

五、与Oozie的对比

Oozie (训象人)
是一个基于 工作流引擎的开源框架,调度的是MapReduce,需要部署到 Java Servlet 中运行。
主要用于定时调度,多任务之间按照逻辑顺序进行调度。
是一个重量级的任务调度系统,虽然功能全面,但是部署和配置麻烦。

Azkaban
用于 在一个 工作流内 以特定的顺序执行一组工作和流程。
介于Oozie和Crontab之间的工具,安全性弱于Oozie。

若出现失败的情况,Azkaban会丢失所有工作流,但Oozie 可以继续运行。

六、若任务挂了怎么办?

不论任务运行成功还是失败,都会通过邮件、钉钉、短信、企业微信、电话等途径发出通知。
若任务失败了,主要解决方案是重新跑

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值