什么是Azkaban
Azkaban是由Linkedin公司推出的一个批量工作流任务调度器。Azkaban可以通过简单的配置完成任务之间的依赖关系(依赖关系必须是有向无环图(DAG))
创建分布式azkaban的流程
1.首先具有jdk环境
2.准备好azkaban所需要的数据库,azkaban在使用的时候需要在许多数据库表格的基础上运行,所以必须准备好azkaban需要的默认数据库。在github上下载。
3.准备好一个azkaban所需要的数据库后,将分布式机器进行时间同步
1.安装ntp
[root@flink ~]# yum install -y ntp
2.同步时钟
[root@flink ~]# ntpdate cn.pool.ntp.org
20 May 22:58:49 ntpdate[27151]: step time server 111.206.66.39 offset 34470.795827 sec
3.把当前系统时间设置为硬件时间
[root@flink ~]# clock -w
4.安装Executor-Server(我的是三台机器)
[root@CentOSA usr]# tar -zxf azkaban-exec-server-3.81.0-1-g304593d.tar.gz
[root@CentOSA usr]# mv azkaban-exec-server-3.81.0-1-g304593d azkaban-exec-server
编辑azkaban.properties配置文件,修改一下key对应的值 该文件在conf目录下
default.timezone.id=Asia/Shanghai
jetty.port=8082
azkaban.webserver.url=http://192.168.77.201:8082
mysql.host=192.168.77.201
mysql.database=baizhi
mysql.user=root
mysql.password=123456
编辑commonprivate.properties配置文件,添加以下key=value
memCheck.enabled=false
配置完成后,通过 scp -r Executor-Server 发送至 其他服务器
启动azkaban执行服务器并验证
[root@CentOSA azkaban-exec-server]# pwd
/usr/azkaban-exec-server
[root@CentOSA azkaban-exec-server]# ./bin/start-exec.sh
[root@CentOSA azkaban-exec-server]# jps
25666 Jps
25653 AzkabanExecutorServer
启动是相对路径,可以配置环境变量,这样就可以全局变量启动。
启动后要激活,每次启动都需要激活
[root@CentOSB azkaban-exec-server]# pwd
/usr/azkaban-exec-server
[root@CentOSB azkaban-exec-server]# curl -G "localhost:$(<./executor.port)/executor?action=activate" && echo
{"status":"success"} #执行之后的结果
5.安装azkaban的webServer(在一个节点中安装)
[root@CentOSA usr]# pwd
/usr
[root@CentOSA usr]# tar -zxf azkaban-web-server-3.81.0-1-g304593d.tar.gz
[root@CentOSA usr]# mv azkaban-web-server-3.81.0-1-g304593d azkaban-web-server
编辑azkaban.properties配置文件
default.timezone.id=Asia/Shanghai
jetty.port=8082
mysql.host=192.168.77.201
mysql.database=baizhi
mysql.user=root
mysql.password=123456
azkaban.executorselector.filters=StaticRemainingFlowSize,CpuStatus #关闭对执行服务器内存检查-测试环境
启动webServer 与executor-server启动一致
使用jps命令查看