博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
azkaban 入门简介
阅读量:2053 次
发布时间:2019-04-28

本文共 944 字,大约阅读时间需要 3 分钟。

项目github地址:

欢迎大家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相关任务的调度。

转载地址:http://mublf.baihongyu.com/

你可能感兴趣的文章
剑指offer 19.二叉树的镜像
查看>>
剑指offer 20.顺时针打印矩阵
查看>>
剑指offer 21.包含min函数的栈
查看>>
剑指offer 23.从上往下打印二叉树
查看>>
剑指offer 25.二叉树中和为某一值的路径
查看>>
剑指offer 26. 数组中出现次数超过一半的数字
查看>>
剑指offer 27.二叉树的深度
查看>>
剑指offer 29.字符串的排列
查看>>
剑指offer 31.最小的k个树
查看>>
剑指offer 32.整数中1出现的次数
查看>>
剑指offer 33.第一个只出现一次的字符
查看>>
剑指offer 34.把数组排成最小的数
查看>>
剑指offer 35.数组中只出现一次的数字
查看>>
剑指offer 36.数字在排序数组中出现的次数
查看>>
剑指offer 37.数组中重复的数字
查看>>
剑指offer 38.丑数
查看>>
剑指offer 39.构建乘积数组
查看>>
剑指offer 57. 删除链表中重复的结点
查看>>
剑指offer 58. 链表中环的入口结点
查看>>
剑指offer 59. 把字符串转换成整数
查看>>