1.准备
https://downloads.gradle.org/distributions/gradle-4.1-all.zip
#unzip /home/hadoop/software/azkaban-3.47.0.zip -d /home/hadoop/source/
2.编译
首先设置gradle本地,避免编译过程中下载gradle
#cp ~/software/gradle-4.1-all.zip ~/source/azkaban-3.47.0/gradle/wrapper/
#vi ~/source/azkaban-3.47.0/gradle/wrapper/gradle-wrapper.properties
修改配置如下
distributionUrl=gradle-4.1-all.zip
#distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip
编译
#cd ~/source/azkaban-3.47.0
#./gradlew build installDist -x test
编译完成后:
exec-server安装包: /home/hadoop/source/azkaban-3.47.0/azkaban-exec-server/build/distributions/azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz
web-server安装包: /home/hadoop/source/azkaban-3.47.0/azkaban-web-server/build/distributions/azkaban-web-server-0.1.0-SNAPSHOT.tar.gz
solo-server安装包:/home/hadoop/source/azkaban-3.47.0/azkaban-solo-server/build/distributions/azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz
3.部署
3.1 部署模式
Azikaban有三种部署模式
solo-server模式:内嵌一个H2,Webserver和ExecuteServer在一个进程里面.一般用于学习和测试
two-server模式,DB使用MySQL,MySQL支持主从架构,Webserver和ExecuteServer运行在不同进程里
multiple-executor模式(分布式),DB同上,但Webserver和ExcuteServer运行在不同机器上面,且可能有多个ExcuteServer
这里先使用twn-server模式部署
先把刚才编译好的安装包拷贝出来:
# cp ~/source/azkaban-3.47.0/azkaban-exec-server/build/distributions/azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz ~/software/azkaban-exec-server-3.47.0.tar.gz
# cp ~/source/azkaban-3.47.0/azkaban-web-server/build/distributions/azkaban-web-server-0.1.0-SNAPSHOT.tar.gz ~/software/azkaban-web-server-3.47.0.tar.gz
# cp ~/source/azkaban-3.47.0/azkaban-solo-server/build/distributions/azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz ~/software/azkaban-solo-server-3.47.0.tar.gz
解压:
# tar -xzvf ~/software/azkaban-web-server-3.47.0.tar.gz -C ~/app/
# tar -xzvf ~/software/azkaban-exec-server-3.47.0.tar.gz -C ~/app/
# tar -xzvf ~/software/azkaban-solo-server-3.47.0.tar.gz -C ~/app/
MySQL数据库准备
切换到root,把Azikaban的建库文件拷贝给mysqladmin用户,并归属给mysqladmin(我的mysqladmin是独立用户)
#su - root
#cp /home/hadoop/source/azkaban-3.47.0/azkaban-db/build/sql/create-all-sql-0.1.0-SNAPSHOT.sql /home/mysqladmin
#chown mysqladmin:dba /home/mysqladmin/create-all-sql-0.1.0-SNAPSHOT.sql
mysql=>
create database azkaban;
use azkaban;
source /home/mysqladmin/create-all-sql-0.1.0-SNAPSHOT.sql;
创建用户组azkaban并将执行用户加入该组