azkaban 入门简介

项目github地址:bitcarmanlee easy-algorithm-interview-and-practice
欢迎大家star,留言,一起学习进步

前言

80后的同学们看到azkaban这个词,第一反应就会想起哈利波特。没错,就是哈利波特系列的第三部:阿兹卡班的囚徒(Harry Potter and the Prisoner of Azkaban)。这个囚徒,就是指Potter的教父小天狼星。一晃,哈利波特都写完多好多年了,俺们都从十多岁的小屁孩变成三十岁的中年人了。。。
当然,今天咱们文章的主角不是Potter,也不是小天狼星,也不是K.J.Rowling女士。而是一个开源项目,名字就叫azkaban…

需求

实际当中经常有这些场景:每天有一个大任务,这个大任务可以分成A,B,C,D四个小任务,A,B任务之间没有依赖关系,C任务依赖A,B任务的结果,D任务依赖C任务的结果。一般的做法是,开两个终端同时执行A,B,两个都执行完了再执行C,最后再执行D。这样的话,整个的执行过程都需要人工参加,并且得盯着各任务的进度。但是我们的很多任务都是在深更半夜执行的,通过写脚本设置crontab执行。其实,整个过程类似于一个有向无环图(DAG)。每个子任务相当于大任务中的一个流,任务的起点可以从没有度的节点开始执行,任何没有通路的节点之间可以同时执行,比如上述的A,B。总结起来的话,我们需要的就是一个工作流的调度器,而azkaban就是能解决上述问题的一个调度器。

azkaban的github地址:https://azkaban.github.io/
azkaban是由linkedin开源的。在github上的主页介绍有如下介绍:
这里写图片描述

azkaban组件简介

在文档页面,我们截了个简单的图,能对azkaban的组件有个基本的了解
这里写图片描述

从上面我们可以得出如下信息:
1.azkaban主要是应用于hadoop生态圈的任务调度的。我们在实际使用过程中,也主要是用来做hadoop相关任务的调度,其他任务的调度暂时还没有进行相关实践。
2.关键组件有三部分:web server,executor server,mysql。目前azkaban貌似只支持mysql数据库,相关的数据都存在mysql中。

后续再为大家介绍具体如何使用azkaban进行hadoop相关任务的调度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值