編譯源碼、運行Azkaban(版本:3.80.0-6)

歡迎加入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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章