本次安装azkaban的版本
3.20.0-5
,相对版本2.5
有部分变化,此次安装two-server模式
In version 3.0 we provide three modes: the stand alone “solo-server” mode, the heavier weight two server mode and distributed multiple-executor mode. The following describes the differences between the two modes.
三种模式
- solo-server模式:exec进程和web进程为同一个进程,存放元数据的数据库为
H2
- two-server模式:与之前的单机版本类似,exec进程和web进程分开,存放元数据的数据库为
mysql
- multiple-executor模式:exec进程和web进程在不同的机器上,存放元数据的数据库为
mysql
https://azkaban.github.io
https://github.com/azkaban/azkaban
https://github.com/azkaban/azkaban-plugins
http://azkaban.github.io/azkaban/docs/latest
1 下载。git clone https://github.com/azkaban/azkaban.git
得到文件夹azkaban/
2 编译。执行命令 cd azkaban
,在该目录下执行
./gradlew installDist
生成一系列文件。
3 拷贝。另新建目录 mkdir azkaban-3.20.0
,执行 cp azkaban/azkaban-exec-server/build/distributions/azkaban-exec-server-3.20.0-5-g28fc94e7.tar.gz azkaban-3.20.0
cp azkaban/azkaban-web-server/build/distributions/azkaban-web-server-3.20.0-5-g28fc94e7.tar.gz azkaban-3.20.0
cp azkaban/azkaban-sql/build/distributions/azkaban-sql-3.20.0-5-g28fc94e7.tar.gz azkaban-3.20.0
cd azkaban-3.20.0
tar -zvxf azkaban-exec-server-3.20.0-5-g28fc94e7.tar.gz
tar -zvxf azkaban-web-server-3.20.0-5-g28fc94e7.tar.gz
tar -zvxf azkaban-sql-3.20.0-5-g28fc94e7.tar.gz
4 创建 azkaban 元数据库。在Mysql数据库中创建元数据。同时从外部导入mysql jar包到 azkaban-exec-server-3.0.0/extlib/
和 azkaban-web-server-3.0.0/extlib/
1) 以 root 用户登录mysql
2) CREATE DATABASE azkaban;
3 CREATE USER 'azkaban'@'%' IDENTIFIED BY 'azkaban';
4) GRANT SELECT,INSERT,UPDATE,DELETE ON azkaban.* to 'azkaban'@'%' WITH GRANT OPTION;
5) flush privileges;
6) use azkaban;
7) source /home/hadoop/azkaban/azkaban-sql-3.20.0-5-g28fc94e7/create-all-sql-3.0.0.sql
5 配置azkaban-web-server
。 执行 mv azkaban-exec-server-3.20.0-5-g28fc94e7 azkaban-exec-server-3.20.0-5
,且在该目录下执行 keytool -keystore keystore -alias jetty -genkey -keyalg RSA
生成 keystore
文件,配置SSL。
cd azkaban-exec-server-3.20.0-5
, 此目录如下 bin
conf
extlib
lib
plugins
projects
temp
目录(如该目录下没有相应的文件夹,则直接在 azkaban-solo-server
目录下拷贝就行)。
conf
目录下存放 azkaban.properties
global.properties
log4j.properties
三个文件
extlib
目录下存放 mysql-connector-java-5.1.41-bin.jar
连接mysql的Java驱动包
plugins
目录下存放 jobtypes/commonprivate.properties
文件
azkaban.properties
operties
# Azkaban
default.timezone.id=America/Los_Angeles
# Azkaban JobTypes Plugins
azkaban.jobtype.plugin.dir=plugins/jobtypes
# Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects
# Azkaban元数据库信息
database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100
# Azkaban Executor settings
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30
# JMX stats
jetty.connector.stats=true
executor.connector.stats=true
# uncomment to enable inmemory stats for azkaban
#executor.metric.reports=true
#executor.metric.milisecinterval.default=60000
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
6 配置 azkaban-exec-server
.配置对应 conf/azkaban.properties
conf/global.properties
conf/log4j.properties
azkaban.properties
operties
# Azkaban
default.timezone.id=America/Los_Angeles
# Azkaban JobTypes Plugins
azkaban.jobtype.plugin.dir=plugins/jobtypes
# Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects
database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100
# Azkaban Executor settings
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30
# JMX stats
jetty.connector.stats=true
executor.connector.stats=true
# uncomment to enable inmemory stats for azkaban
#executor.metric.reports=true
#executor.metric.milisecinterval.default=60000
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
7 启动。启动web-server
和exec-server
,执行bin/azkaban-executor-start.sh
和 bin/azkaban-web-start.sh
命令。创建Project,两种方式:web界面创建和通过API创建(方法)。
7 插件安装
git clone https://github.com/azkaban/azkaban-plugins.git