目录
azkaban工作流调度说白了就是一个脚本模块,把你要做的任务流程都整合到一起不用你自己手动操作了,是一个进阶的大数据模块。
工作流概述
背景
一个完整的数据分析系统通常都是由大量任务单元组成,例如shell脚本程序、java程序、mapreduce程序和hive脚本等。各任务单元之间存在时间先后及依赖关系,为了将这复杂的执行计划组织起来,需要一个工作流调度系统来调度执行。
工作流调度工具
Azkaban
Azkaban是由Linkedin公司开源的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程。
Oozie
Oozie是Apache旗下的,用于管理Hadoop任务的工作流/协调系统,可与Hadoop生态圈紧密结合,提供诸多配置和功能。
Azkaban概述
Azkaban组成结构
Azkaban工作流管理器由三个核心部分组成,分别是Relational Database(关系型数据库MySQL)、AzkabanWebServer(Web服务器)、AzkabanExecutorServer(执行服务器)。三者关系具体如图所示。
Azkaban部署模式
solo-server mode(独立服务器模式)
在独立服务器模式下,使用的数据库是内嵌的H2,并且web server和executor server都在同一进程中运行,通常适用于小规模测试阶段。
two server mode(双服务器模式)
双服务器模式适用于比较复杂的生产环境,它的数据库会由具有主从设置的MySQL实例提供支持。其中,Web服务器和执行服务器应在不同的进程中运行,以便升级和维护过程中不影响用户。
distributed multiple-executor mode(分布式多执行器模式)
分布式多执行器模式适用于特别复杂的生产环境,理想情况下,Web服务器和执行服务器应在不同的主机中运行,以便升级和维护不影响用户。这种分布式多主机设置的模式为Azkaban带来了强大且可扩展的性能。
Azkaban的部署
下载
两种下载方法
第一种:通用的github项目的下载方式
第二种下载方法,可以有选择性的下载自己需要的版本
这是3.90那版的网盘链接
https://pan.baidu.com/s/1-0zwYz_DtUQP38pVI9MW0w?pwd=1234
提取码:1234
我自己用的是master版本的
连接在这
https://pan.baidu.com/s/15qTkrgnK2Li7ZGKglqFM-A?pwd=1234
提取码:1234
上传到虚拟机