一、下载源码,并编译
1、下载地址:https://github.com/azkaban/azkaban/releases
2、编译前所需环境
安装 jdk1.8
安装 mysql5.7
安装 git2.15 参考https://www.cnblogs.com/fuyuanming/p/5804695.html
3、解压编译
(1)解压azkaban-3.62.0.tar.gz
tar -zxvf azkaban-3.62.0.tar.gz -C /usr/local/
(2)进入解压后的目录,编译
./gradelw distTar
二、解压编译后的文件并重命名
(1)新建azkaban文件夹
mkdir /usr/local/azkaban
cd /usr/local/azkaban-3.62.0
(2)解压azkaban-db的压缩包
tar -zxvf ./azkaban-db/build/distributions/azkaban-db-0.1.0-SNAPSHOT.tar.gz -C ../azkaban
(3)解压azkaban-exec-server的压缩包
tar -zxvf ./azkaban-exec-server/build/distributions/azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz -C ../azkaban
(4)解压azkaban-web-server的压缩包
tar -zxvf ./azkaban-web-server/build/distributions/azkaban-web-server-0.1.0-SNAPSHOT.tar.gz -C ../azkaban
(5)解压azkaban-solo-server的压缩包
tar -zxvf ./azkaban-solo-server/build/distributions/azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz -C ../azkaban
(6)重命名
mv azkaban-db-0.1.0-SNAPSHOT azkaban-db
mv azkaban-exec-server-0.1.0-SNAPSHOT azkaban-exec-server
mv azkaban-web-server-0.1.0-SNAPSHOT azkaban-web-server
mv azkaban-solo-server-0.1.0-SNAPSHOT azkaban-solo-server
三、创建数据库并导入基本数据
(1)创建数据库
create database azkaban;
(2)创建azkaban用户,并分配权限
CREATE USER 'azkaban'@'%' IDENTIFIED BY 'azkaban';
GRANT ALL ON azkaban.* to 'azkaban'@'localhost' IDENTIFIED BY 'azkaban';
flush privileges;
(3)导入数据
use azkaban;
source /usr/local/azkaban/azkaban-db/create-all-sql-0.1.0-SNAPSHOT.sql;
四、创建SSL配置
keytool -keystore keystore -alias jetty -genkey -keyalg RSA
五、修改azkaban-exec-server下配置文件,引入mysql的依赖包
(1)将azkaban-solo-server下conf、plugins、sql目录复制到azkaban-exec-server目录下
cd /usr/local/azkaban/azkaban-solo-server
cp -a ./conf ./plugins ./sql /usr/local/azkaban-exec-server
(2)修改azkaban-exec-server的azkaban.properties文件
# Azkaban Personalization Settings
azkaban.name=Harvey
azkaban.label=My Local Azkaban
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=web/
#修改时区
default.timezone.id=Asia/Shanghai
# Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
#这里设为绝对路径,否则可能找不到报错
user.manager.xml.file=/usr/local/azkaban/azkaban-exec-server/conf/azkaban-users.xml
#这里设为绝对路径,否则可能找不到报错
executor.global.properties=/usr/local/azkaban/azkaban-exec-server/conf/global.properties
#添加mysql配置信息
database.type=mysql
mysql.port=3306
mysql.host=hadoop01
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100
(3)在conf目录下新建log4j.properties文件
touch log4j.properties
复制以下内容到log4j文件:
log4j.rootLogger=INFO, Console
log4j.logger.azkaban=INFO, server
log4j.appender.server=org.apache.log4j.RollingFileAppender
log4j.appender.server.layout=org.apache.log4j.PatternLayout
log4j.appender.server.File=logs/azkaban-execserver.log
log4j.appender.server.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss.SSS Z} %p [%c{1}] [Azkaban] %m%n
log4j.appender.server.MaxFileSize=102400MB
log4j.appender.server.MaxBackupIndex=2
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss.SSS Z} %p [%c{1}] [Azkaban] %m%n
(4)在azkaban-exec-server目录下创建extlib目录,将mysql的驱动拷贝到该目录下
mkdir ./extlib
cp ~/softdirs/mysql-connector-java-5.1.38.jar ./extlib
(5)将azkaban-exec-server目录下conf、extlib目录复制到azkaban-web-server目录下
cp ./conf ./extlib ../azkaban-web-server
六、登录mysql,将azkaban数据库下的executors表的active值改为1;否者启动程序会报azkaban.executor.ExecutorManagerException: No active executors found的异常。
use azkaban;
update executors set active=1 where id=1;
修改后的结果如下:
七、启动程序
cd azkaban-exec-server/bin
./start-exec.sh
cd azkaban-web-server/bin
./start-web.sh
jps 查看启动进程
访问web界面:http://192.168.18.6:8081/
可以使用默认的用户名密码登录,即在azkaban-users.xml文件中配置的。默认的用户名密码都是azkaban