Azkaban 概述
- Open - source Workflow Manager
- 批处理工作流,用于跑Hadoop的job
- 提供了一个易于使用的用户界面来维护和跟踪你的工作流程
Azkaban
Relational Database(MySQL) --关系型数据库
AzkabanWebServer --有个界面,传工作流
AzkabanExecutorServer
关系型数据库,存储状态信息
How does AzkabanWebServer use the DB?
项目管理 --项目 ,权限,上传的文件
执行工作状态信息
运行以前的工作i信息,以前日志的信息
How does the AzkabanExecutorServer use the DB?
把工作流配置数据库,从数据库获取信息
获取或者更新数据执行
日志信息
AzkabanWebServer使用mysql主要有一下用途:
1、Project Management - 管理项目和项目上传文件
2、Executing Flow State - 跟踪执行流程和运行他们的Executor
3、Previous Flow/Jobs:搜索之前的job执行以及访问他们的日志
4、Scheduler - 保存调度任务的状态
5、SLA(服务等级协议) - 保存sla规则
AzkabanExecutorServer使用mysql主要有一下用途:
1、Access the project - 从数据库中查找项目文件
2、Executing Flows/Jobs - 查找和更新正在执行的流的数据
3、Logs - 记录job和flow输出的日志
4、dependency(交流) - 如果一个flow运行在不同的executor,那么他会把状态存储在数据库中
AzkabanWebServer是azkaban中最主要的管理者,他主要处理项目管理、认证、调度、监控执行器,它提供了一个web UI界面
Azkaban运行模式
solo-server
数据信息存储在H2 ==> Mysql
webserver和execserver是运行在同一个进程中
the heavier weight two server mode
数据信息存储在Mysql,在生产上一定要做主备
webserver和execserver是运行在不同的进程中的
distributed multiple-executor mode
more 比较
most 最高级
一、安装步骤
第一步骤
#下载
https://github.com/azkaban/azkaban/releases?after=3.42.0
yum install -y gcc gcc-c++ git
第二步骤
第三步骤
[root@localhost wrapper]# pwd
/root/azkaban-3.40.0/gradle/wrapper
#把包拷贝到这个目录里面
[root@localhost ~]# cp gradle-4.1-all.zip /root/azkaban-3.40.0/gradle/wrapper
[root@localhost wrapper]# vim gradle-wrapper.properties
第四步骤
[root@hadoop000 azkaban-3.40.0]# ./gradlew build -x test
[root@localhost azkaban-3.40.0]# ./gradlew build installDist -x test
[root@hadoop000 azkaban-3.40.0]# ll
azkaban-common 常用的工具类
/root/azkaban-3.40.0/azkaban-solo-server/build/distributions
[root@hadoop000 distributions]# pwd
/root/azkaban-3.40.0/azkaban-web-server/build/distributions
[root@hadoop000 distributions]# pwd
/root/azkaban-3.40.0/azkaban-exec-server/build/distributions
二、Azkaban solo server环境部署 单机部署
[root@hadoop000 distributions]# pwd
/root/azkaban-3.40.0/azkaban-solo-server/build/distributions
[root@hadoop000 distributions]# tar -zxvf azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz -C ~/app/
lib 目录 编译过后的依赖包
#如何启动该
[root@hadoop000 azkaban-solo-server-0.1.0-SNAPSHOT]# bin/azkaban-solo-start.sh
去页面访问 192.169.194.149:8081
#停止程序
[root@hadoop000 azkaban-solo-server-0.1.0-SNAPSHOT]# bin/azkaban-solo-shutdown.sh
修改下内容
[root@hadoop000 conf]# vim azkaban.properties
[root@hadoop000 conf]# pwd
/root/app/azkaban-solo-server-0.1.0-SNAPSHOT/conf
[root@hadoop000 conf]# vim azkaban-users.xml
[root@hadoop000 conf]# pwd
/root/app/azkaban-solo-server-0.1.0-SNAPSHOT/conf
#添加的语句 账户和密码
<user password ="000000" roles="admin" username="pk"/>
#官网也告诉我们了
https://azkaban.readthedocs.io/en/latest/getStarted.html#
在一次启动
[root@hadoop000 azkaban-solo-server-0.1.0-SNAPSHOT]# bin/azkaban-solo-start.sh
#文件都放到这个里面了
/home/spark/Documents