1.下载:
git clone https://github.com/azkaban/azkaban.git
2.编译:
./gradlew build -x test
3. 创建目录并拷贝
mkdir /opt/local/azkaban
cp -r azkaban-*/build/distributions/azkaban-*.tar.gz /opt/local/azkaban
解压缩文件夹,并重命名
4. 在mysql中创建azkaban元数据库, 导入元数据库表
创建数据库,并创建用户赋值权限
grant all privileges on azkaban.* to azkaban@dwdev-name2 identified by 'azkaban';
flush privileges;
使用create-all-sql-3.58.0-2-gfd56124.sql 脚本导入元数据库表。
mysql -uazkaban -p
use azkaban
source create-all-sql-3.58.0-2-gfd56124.sql
5. 配置executor-server
主要修改点:时区、mysql数据库链接
default.timezone.id=Asia/Shanghai
azkaban.webserver.url=http://dwdev-name1:8081
mysql.port=
mysql.host=dwdev-name2
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
executor.port=12321 #如果配置成solo-server或者two-server模式,要指定固定端口,同样web-server也需要指定相同的端口。
6. 生成SSL证书
使用下面命令生成ssl证书,密码和最后确认输入,其他默认为空即可。
需要切换到azkaban-web-server根目录执行。
cd /opt/local/azkaban/azkaban-web-server
keytool -keystore keystore -alias jetty -genkey -keyalg RSA
7. 配置azkaban-web-server
default.timezone.id=Asia/Shanghai #修改时区 # Azkaban Jetty server properties
jetty.use.ssl=true #开启ssl,如果为false,则不需要执行第6步
jetty.maxThreads=25
jetty.port=8081
jetty.ssl.port=8443
jetty.keystore=keystore #证书目录在web-server根目录
jetty.password=123456
jetty.keypassword=123456
jetty.truststore=keystore
jetty.trustpassword=123456 # mysql数据库配置
database.type=mysql
mysql.port=3306
mysql.host=dwdev-name2
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100 # 指定excutor port
executor.port=12321 #Multiple Executor
azkaban.use.multiple.executors=false #关闭multiple-executor模式
8. 启动azkaban-exec-server
注意:在azkaban-exec-server目录下启动, bin/start-exec.sh
查看数据库azkaban表excutors中的active状态是否为1,如果不是,需要是手工修改为1。
9. 启动azkaban-web-server
注意:在shazkaban-web-server目录下启动, bin/start-web.sh
10. 应用模式,目前上面的配置采用的是第二种模式。
azkaban三种模式执行:
1) solo-server模式、
DB使用的是一个内嵌的H2,Web Server和Executor Server运行在同一个进程里。这种模式包含Azkaban的所有特性,但一般用来学习和测试。
2)two-server模式
DB使用的是MySQL,MySQL支持master-slave架构,Web Server和Executor Server运行在不同的进程中。
3)multiple-executor模式。
DB使用的是MySQL,MySQL支持master-slave架构,Web Server和Executor Server运行在不同机器上,且有多个Executor Server。
目前我们使用的是第二中模式,即two-server模式,其实是在一台服务器上启动了两个进程,分别运行了WebServer和ExecutorServer。
完成后上图