编译篇
我编译好的azkaban3.90.0下载,github地址:https://github.com/shengminjie/Azkaban-complete
环境(linux)
JDK1.8(java1.8),20201124时在ORACLE官网下载的是jdk-8u271-linux-x64.tar.gz,实测可用,JDK环境安装略
yum install -y gcc-c++*
需要的包
azkaban官网github:https://github.com/azkaban/azkaban/releases
下载当前最新版本:azkaban-3.90.0.tar.gz
azkaban编译需要的Gradle包,官网:https://gradle.org/releases/
azkaban3.90.0对应Gradle V4.6 选择complete下载:gradle-4.6-all.zip
放到解压后的./azkaban-3.90.0/gradle/wrapper文件夹内,该包不需要解压
过程
linux系统中解压缩
tar -zxvf azkaban-3.90.0.tar.gz
cd ./azkaban-3.90.0/gradle/wrapper/
确定已放入了gradle-4.6-all.zip包
编辑配置文件
vim gradle-wrapper.properties
默认里面指定的是gradle-4.6-all.zip的网络地址
修改该配置文件对应内容为该文件名,不需其他路径
cd …/azkaban-3.90.0
./gradlew build # 进行源码编译,有的版本会无法编译过
./gradlew installDIST -x test # 也可以用此命令,若版本不对执行此命令,以后运行会有问题
编译成功后在以下四个文件夹提取对应的包内容,拷出到其他独立文件夹,后面的操作就与该源码目录的无关了
./azkaban-3.90.0/azkaban-db/build/distributions/
./azkaban-3.90.0/azkaban-exec-server/build/distributions/
./azkaban-3.90.0/azkaban-solo-server/build/distributions/
./azkaban-3.90.0/azkaban-web-server/build/distributions/
(每个目录内有zip和tar.gz两种格式的包,任选其一即可)
以下只介绍web和exec分开部署(同一主机),单机(简单)模式“azkaban-solo-server”不介绍,生产环境不建议用该方式,自己测试/学习也没必要。
数据库篇
全新安装只需要
azkaban-db-0.1.0-SNAPSHOT里的create-all-sql-0.1.0-SNAPSHOT.sql
其他的.sql文件看文件名可以理解意思,主要是以前版本升级或单独建表的
导入create-all-sql-0.1.0-SNAPSHOT.sql到azkaban库,并建立对应账号,具体mysql知识略
部署篇
将之前的azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz和azkaban-web-server-0.1.0-SNAPSHOT.tar.gz解压出来
并重新命名到准备正式使用的路径,如azkaban-exec-server及azkaban-web-server
配置数据库信息
分别对azkaban-exec-server和azkaban-web-server中的./conf/azkaban.properties进行配置,配置mysql数据库的账号密码端口地址
启动
先启动azkaban-exec-server的./bin/start-exec.sh
cat executor.port文件查看端口号
访问(地址为本地地址,端口号为上面方法查看的端口号)
curl http://127.0.0.1:6642/executor?action=activate
该操作会激活一个状态,下面web程序才能启动
再去./azkaban/azkaban-web-server/
./bin/start-web.sh
即可访问地址:8081
配置篇
增加、修改web中使用的账号和权限
/azkaban-web-server/conf/azkaban-users.xml
修改网页界面默认时区,大小写、空格都不要错。
default.timezone.id=Asia/Shanghai
azkaban.name=顶栏的标题
azkaban.label=标题下的介绍
网页访问的端口号
jetty.port=8081
重要,去掉了MinimumFreeMemory,不然主机内存剩余小于多少G,任务会一直卡准备状态,不执行。
azkaban.executorselector.filters=StaticRemainingFlowSize,CpuStatus
./azkaban-web-server/conf/azkaban.properties
升成keystore,https协议
keytool -keystore keystore -alias jetty -genkey -keyalg RSA # 在哪个目录下执行 keystore就生成在哪个目录下
其它
日志
在各自模块的目录下,如./azkaban-web-server/webServerLog_2020-11-24+17:59:47.out
日志log4j配置文件./azkaban-web-server/conf/log4j.properties
使用
上传需上传.zip包
内容为文本内容,命名例如1.job 2.job 3.job这样