当前位置:网站首页>Azkaban概述
Azkaban概述
2022-07-05 02:41:00 【一个正在努力的菜鸡】
什么是azkaban
1.术语
- 批量工作流任务调度器
2.解释
- 主要用于在一个工作流内以一个特定的顺序运行一组工作和流程,它的配置是通过简单的key:value对的方式,通过配置中的dependencies来设置依赖关系
- Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流
为什么需要工作流调度系统
1.解决任务单元之间的依赖关系
- 一个完整的数据分析系统通常都是由大量任务单元组成(shell脚本程序,java程序,mapreduce程序、hive脚本等)
- 各任务单元之间存在时间先后及前后依赖关系
- 为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行

2.定时调度器
- 整个的执行过程都需要人工参加,并且得盯着各任务的进度。但是我们的很多任务都是在深更半夜执行的,通过写脚本设置crontab执行
- 其实,整个过程类似于一个有向无环图(DAG)
- 每个子任务相当于大任务中的一个节点,也就是,我们需要的就是一个工作流的调度器,而Azkaban就是能解决上述问题的一个调度器
Azkaban特点
1.兼容任何版本的hadoop
2.易于使用的Web用户界面,方便简单傻瓜化操作
3.模块化和可插拔的插件机制
4.认证/授权(权限的工作)
5.能够杀死并重新启动工作流
6.有关失败和成功的电子邮件提醒
常见工作流调度系统
1.简单的任务调度
- 直接使用crontab实现
2.复杂的任务调度
- 开发调度平台或使用现成的开源调度系统,比如ooize、azkaban等
Ooize和Azkaban特性对比

Azkaban的架构
1.架构图

2.解释
- AzkabanWebServer:AzkabanWebServer是整个Azkaban工作流系统的主要管理者,它用户登录认证、负责project管理、定时执行工作流、跟踪工作流执行进度等一系列任务
- AzkabanExecutorServer:负责具体的工作流的提交、执行,它们通过MySQL数据库来协调任务的执行
- 关系型数据库(MySQL):存储大部分执行流状态,AzkabanWebServer和AzkabanExecutorServer都需要访问数据库
边栏推荐
- Advanced conditional statements of common SQL operations
- Acwing game 58 [End]
- Unpool(nn.MaxUnpool2d)
- February database ranking: how long can Oracle remain the first?
- Single line function*
- openresty ngx_lua执行阶段
- Missile interception -- UPC winter vacation training match
- Use the difference between "Chmod a + X" and "Chmod 755" [closed] - difference between using "Chmod a + X" and "Chmod 755" [closed]
- Pytest (5) - assertion
- Introduce reflow & repaint, and how to optimize it?
猜你喜欢

问题解决:AttributeError: ‘NoneType‘ object has no attribute ‘append‘

Design and implementation of kindergarten management system

Grub 2.12 will be released this year to continue to improve boot security

Design and implementation of high availability website architecture

Unpool(nn.MaxUnpool2d)

TCP security of network security foundation

Introduce reflow & repaint, and how to optimize it?
![Moco V2 literature research [self supervised learning]](/img/bd/79b7b203ea064c65d143116c9f4dd0.jpg)
Moco V2 literature research [self supervised learning]

【LeetCode】106. Construct binary tree from middle order and post order traversal sequence (wrong question 2)

. Net starts again happy 20th birthday
随机推荐
2021 Li Hongyi machine learning (1): basic concepts
Design of kindergarten real-time monitoring and control system
100 basic multiple choice questions of C language (with answers) 04
Breaking the information cocoon - my method of actively obtaining information - 3
8. Commodity management - commodity classification
RichView TRVStyle MainRVStyle
使用druid連接MySQL數據庫報類型錯誤
Avoid material "minefields"! Play with super high conversion rate
Yolov5 model training and detection
[機緣參悟-38]:鬼穀子-第五飛箝篇 - 警示之一:有一種殺稱為“捧殺”
丸子百度小程序详细配置教程,审核通过。
Last week's hot review (2.7-2.13)
Icu4c 70 source code download and compilation (win10, vs2022)
Application and Optimization Practice of redis in vivo push platform
打破信息茧房-我主动获取信息的方法 -#3
Data guard -- theoretical explanation (III)
Design and implementation of campus epidemic prevention and control system based on SSM
Serious bugs with lifted/nullable conversions from int, allowing conversion from decimal
Design and implementation of community hospital information system
From task Run get return value - getting return value from task Run