歡迎加入Axkaban學習交流羣:710108279
Azkaban在3.0版本後支持兩種部署方式,分別是solo-server 和 two-server
首先規定目錄:
~/app:放置應用
~/source:放置源碼
~/software:放置壓縮包
首先下載源碼,編譯
~/source > git clone https://github.com/azkaban/azkaban.git
~/source/azkaban > ./gradlew build
此時項目目錄結構如下:
主要用到的模塊:
azkaban-db:模塊中有我們要初始化mysql數據庫的腳本
azkaban-solo-server:用於部署solo-server
azkaban-web-server:用於部署web server
azkaban-exec-server:用於部署exec server
編譯好的包在項目目錄下的 build/distributions/ 中,同時有zip和tar兩種;
另外,如果我們想通過SSL訪問,必須先設置jetty ssl:
命令:keytool -keystore keystore -alias jetty -genkey -keyalg RSA
此時會提示輸入一系列信息:
>Enter keystore password:
>Re-enter new password:
>What is your first and last name?
>What is the name of your organizational unit?
>What is the name of your organization?
>What is the name of your City or Locality?
>What is the name of your State or Province?
>What is the two-letter country code for this unit?
>Enter key password for <jetty> (RETURN if same as keystore password):
>Re-enter new password:
此時會在當前目錄下生成一個文件叫keystore,配置SSL的時候需要用到這個文件
SOLO SERVER MODE
使用內置的H2數據庫,web服務和調度運行在同一個進程中,僅用於調試測試;
1. 獲取tar包,解壓
tar -zxvf ~/source/azkaban/azkaban-solo-server/build/distributions/azkaban-solo-server-3.80.0-6-gf9a849f.tar.gz -C ~/app/
vim azkaban-solo-server-3.80.0-6-gf9a849f/conf/azkaban.properties
2. 修改配置文件(如果不適用SSL,此步驟可以忽略)
vim azkaban-solo-server-3.80.0-6-gf9a849f/conf/azkaban.properties
修改如下:
jetty.use.ssl=true
jetty.ssl.port=8443
jetty.keystore=${keystore_path}
jetty.password=xxxxxx
jetty.keypassword=xxxxxx
jetty.truststore=${keystore_path}
jetty.trustpassword=xxxxxx
3. 啓動
進入~/app/azkaban-solo-server-3.80.0-6-gf9a849f 目錄,執行
bin/start-solo.sh
此時,如果配置了SSL,則需要訪問8443端口,否則訪問8081端口(都在配置文件中)
4. 停止
進入~/app/azkaban-solo-server-3.80.0-6-gf9a849f 目錄,執行
bin/shutdown-solo.sh
TWO SERVER MODE
改模式下,使用mysql作爲數據庫(主從),web服務和調度分開部署
1. 部署
1.1. azkaban2目前僅支持mysql,因此先準備mysql
1.1.1. create schema etl_azkaban;
1.1.2. create user 'azkaban'@'%' identified by 'Azkaban@2019';
1.1.3. GRANT SELECT,INSERT,UPDATE,DELETE ON etl_azkaban.* to 'azkaban'@'%' WITH GRANT OPTION;
1.1.4. flush privileges;
1.1.5. 導入sql腳本(azkaban-db\build\install\azkaban-db\create-all-sql-3.76.0-11-gae741352.sql)
1.2. 安裝exec server
1.2.1. 解壓
tar -zxvf /home/bigdataU/source/azkaban/azkaban-exec-server/build/distributions/azkabanexec-server-3.80.0-6-gf9a849f.tar.gz -C ~/app/
1.2.2. 配置文件
azkaban.properties:
default.timezone.id=Asia/Shanghai
mysql.port=3306
mysql.host=localhost
mysql.database=mysql.schemaName
mysql.user=mysql.username
mysql.password=mysql.passwd
如果配置了ssl,需要添加(修改)如下配置:
jetty.use.ssl=true
jetty.ssl.port=8443
jetty.keystore=${keystore _path}
jetty.password=xxxxxx
jetty.keypassword=xxxxxx
jetty.truststore=${keystore _path}
jetty.trustpassword=xxxxxx
1.3. 安裝web server(基本配置與exex server一致)
1.3.1. 解壓
tar -zxvf /home/bigdataU/source/azkaban/azkaban-web-server/build/distributions/azkaban-web-server-3.80.0-6-gf9a849f.tar.gz -C ~/app/
1.3.2. 配置文件
azkaban.properties:
default.timezone.id=Asia/Shanghai
mysql.port=3306
mysql.host=localhost
mysql.database=mysql.schemaName
mysql.user=mysql.username
mysql.password=mysql.passwd
如果配置了ssl,需要添加(修改)如下配置:
jetty.use.ssl=true
jetty.ssl.port=8443
jetty.keystore=${keystore _path}
jetty.password=xxxxxx
jetty.keypassword=xxxxxx
jetty.truststore=${keystore _path}
jetty.trustpassword=xxxxxx
2. 啓動項目
2.1. 啓動 exec server:
~/app/azkaban-solo-server-3.80.0-6-gf9a849f
bin/start-exec.sh
2.2. 啓動web server
~/app/azkaban-solo-server-3.80.0-6-gf9a849f
bin/start-web.sh