Azkaban 3.X 安裝

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

安裝準備

  1. Azkaban官網: https://azkaban.github.io
  2. 軟件下載地址: https://github.com/azkaban/azkaban
  3. 官方插件地址: https://github.com/azkaban/azkaban-plugins
  4. 官方文檔地址: 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-serverexec-server,執行bin/azkaban-executor-start.shbin/azkaban-web-start.sh 命令。創建Project,兩種方式:web界面創建和通過API創建(方法)。

7 插件安裝

  • git clone https://github.com/azkaban/azkaban-plugins.git
  • cd 到對應目錄下
  • 執行 ant
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章