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
编译
#~/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;
部署WebServer
配置文件
# mkdir ~/app/azkaban-web-server-0.1.0-SNAPSHOT/conf
# cp ~/app/azkaban-solo-server-0.1.0-SNAPSHOT/conf/azkaban-users.xml ~/app/azkaban-web-server-0.1.0-SNAPSHOT/conf
# cp ~/app/azkaban-solo-server-0.1.0-SNAPSHOT/conf/azkaban.properties ~/app/azkaban-web-server-0.1.0-SNAPSHOT/conf
# vi ~/app/azkaban-web-server-0.1.0-SNAPSHOT/conf/azkaban.properties
修改如下:
web.resource.dir=/home/hadoop/app/azkaban-web-server-0.1.0-SNAPSHOT/web/
user.manager.xml.file=/home/hadoop/app/azkaban-web-server-0.1.0-SNAPSHOT/conf/azkaban-users.xml
database.type=mysql
mysql.port=3306
mysql.host=hadoop000
mysql.database=azkaban
mysql.user=root
mysql.password=12abAB
mysql.numconnections=100
#database.type=h2
#h2.path=./h2
#h2.create.tables=true
#vi ~/app/azkaban-web-server-0.1.0-SNAPSHOT/conf/log4j.properties
编辑如下:
log4j.rootLogger=INFO,C
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.Target=System.err
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
启动Web-Server
参考 https://www.2cto.com/net/201711/701755.html