Azkaban 3.0+ 安裝
本次安裝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
安裝準備
- Azkaban官網:
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
- cd 到對應目錄下
- 執行 ant