Azkaban two-server模式安裝

下載

git地址
git clone命令:git clone https://github.com/azkaban/azkaban.git

編譯

下載完成後,在azkaban目錄下,執行命令: ./gradlew build -x test

copy編譯後的文件

創建文件夾:mkdir -p /soft/azkaban
cd 到剛纔編譯Git下載的目錄,執行下面命令
copy壓縮文件:cp -r azkaban-*/build/distributions/azkaban-*.tar.gz /soft/azkaban
copy 的文件如下:
在這裏插入圖片描述
解壓縮文件,並重命名:
在這裏插入圖片描述

azkaban元數據庫準備

1.在mysql中創建azkaban元數據庫, 導入元數據庫表
2.創建數據庫,並創建用戶賦值權限
	create database  azkaban;
	grant all privileges on azkaban.* to azkaban@'%' identified by 'azkaban';
	flush privileges;
3.初始化azkaban表
	source  create-all-sql-3.81.1.sql

配置文件

配置executor-server

1.修改文件/soft/azkaban/azkaban-exec-server/conf/azkaban.properties

# Azkaban Personalization Settings
azkaban.name=Test
azkaban.label=My Local Azkaban
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=web/
default.timezone.id=Asia/Shanghai
# Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=/soft/azkaban/azkaban-exec-server/conf/azkaban-users.xml
# Loader for projects
executor.global.properties=/soft/azkaban/azkaban-exec-server/conf/global.properties
azkaban.project.dir=projects
# Velocity dev mode
velocity.dev.mode=false
# Azkaban Jetty server properties.
jetty.use.ssl=false
jetty.maxThreads=25
jetty.port=8081
# Where the Azkaban web server is located
azkaban.webserver.url=http://localhost:8081
# mail settings
mail.sender=
mail.host=
# User facing web server configurations used to construct the user facing server URLs. They are useful when there is a reverse proxy between Azkaban web servers and users.
# enduser -> myazkabanhost:443 -> proxy -> localhost:8081
# when this parameters set then these parameters are used to generate email links.
# if these parameters are not set then jetty.hostname, and jetty.port(if ssl configured jetty.ssl.port) are used.
# azkaban.webserver.external_hostname=myazkabanhost.com
# azkaban.webserver.external_ssl_port=443
# azkaban.webserver.external_port=8081
job.failure.email=
job.success.email=
lockdown.create.projects=false
cache.directory=cache
# JMX stats
jetty.connector.stats=true
executor.connector.stats=true
# Azkaban plugin settings
azkaban.jobtype.plugin.dir=/soft/azkaban/azkaban-exec-server/plugins/jobtypes
# Azkaban mysql settings by default. Users should configure their own username and password.
database.type=mysql
mysql.port=3306
mysql.host=192.168.30.1
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100
# Azkaban Executor settings
executor.maxThreads=50
executor.flow.threads=30
#如果配置成solo-server或者two-server模式,要指定固定端口,同樣web-server也需要指定相同的端口。
executor.port=12321

注意:所有路徑都寫絕對路徑
2.修改日誌文件,配置日誌目錄
/soft/azkaban/azkaban-exec-server/conf/log4j.properties
3.複製commonprivate.properties到azkaban-exec-server根目錄下(帶目錄copy)
cp plugins/jobtypes/commonprivate.properties /soft/azkaban/azkaban-exec-server
注:與配置文件中下面配置目錄對應
#Azkaban plugin settings
azkaban.jobtype.plugin.dir=/soft/azkaban/azkaban-exec-server/plugins/jobtypes

配置executor-web

1.ssl證書準備
使用下面命令生成ssl證書,密碼和最後確認輸入,其他默認爲空即可。
需要切換到azkaban-web-server根目錄執行。

cd /soft/azkaban/azkaban-web-server
keytool -keystore keystore -alias jetty -genkey -keyalg RSA

2.配置azkaban-web-server
修改文件:/soft/azkaban/azkaban-web-server/conf/azkaban.properties

# Azkaban Personalization Settings
azkaban.name=Test
azkaban.label=My Local Azkaban
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=/soft/azkaban/azkaban-web-server/web/
default.timezone.id=Asia/Shanghai
# Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=/soft/azkaban/azkaban-web-server/conf/azkaban-users.xml
# Loader for projects
executor.global.properties=/soft/azkaban/azkaban-web-server/conf/global.properties
azkaban.project.dir=projects
# Velocity dev mode
velocity.dev.mode=false
# Azkaban Jetty server properties.
jetty.use.ssl=true
jetty.maxThreads=25
jetty.port=8081
jetty.ssl.port=8443   
#證書目錄在web-server根目錄
jetty.keystore=/soft/azkaban/azkaban-web-server/keystore
jetty.password=123456
jetty.keypassword=123456
jetty.truststore=/soft/azkaban/azkaban-web-server/keystore
jetty.trustpassword=123456
# Azkaban Executor settings
# mail settings
mail.sender=
mail.host=
# User facing web server configurations used to construct the user facing server URLs. They are useful when there is a reverse proxy between Azkaban web servers and users.
# enduser -> myazkabanhost:443 -> proxy -> localhost:8081
# when this parameters set then these parameters are used to generate email links.
# if these parameters are not set then jetty.hostname, and jetty.port(if ssl configured jetty.ssl.port) are used.
# azkaban.webserver.external_hostname=myazkabanhost.com
# azkaban.webserver.external_ssl_port=443
# azkaban.webserver.external_port=8081
job.failure.email=
job.success.email=
lockdown.create.projects=false
cache.directory=cache
# JMX stats
jetty.connector.stats=true
executor.connector.stats=true
# 指定excutor port
executor.port=12321
# Azkaban mysql settings by default. Users should configure their own username and password.
database.type=mysql
mysql.port=3306
mysql.host=192.168.30.1
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100
#Multiple Executor
azkaban.use.multiple.executors=true
#azkaban.executorselector.filters=StaticRemainingFlowSize,MinimumFreeMemory,CpuStatus
azkaban.executorselector.filters=StaticRemainingFlowSize,CpuStatus
azkaban.executorselector.comparator.NumberOfAssignedFlowComparator=1
azkaban.executorselector.comparator.Memory=1
azkaban.executorselector.comparator.LastDispatched=1
azkaban.executorselector.comparator.CpuUsage=1
azkaban.jobtype.plugin.dir=/soft/azkaban/azkaban-web-server/plugins/jobtypes

注意:所有路徑都寫絕對路徑
3.修改日誌文件,配置日誌目錄
/soft/azkaban/azkaban-web-server/conf/log4j.properties
4.複製commonprivate.properties到azkaban-web-server根目錄下(帶目錄copy)
cp plugins/jobtypes/commonprivate.properties /soft/azkaban/azkaban-web-server
注:與配置文件中下面配置目錄對應
#Azkaban plugin settings
azkaban.jobtype.plugin.dir=/soft/azkaban/azkaban-web-server/plugins/jobtypes

啓動

1.啓動azkaban-exec-server
注意:在azkaban-exec-server目錄下啓動, bin/start-exec.sh
查看數據庫azkaban表excutors中的active狀態是否爲1,如果不是,需要是手工修改爲1。
2. 啓動azkaban-web-server
注意:在shazkaban-web-server目錄下啓動, bin/start-web.sh
3.檢查進程:
在這裏插入圖片描述

應用模式

目前上面的配置採用的是第二種模式。

azkaban三種模式執行:

  1. solo-server模式、

DB使用的是一個內嵌的H2,Web Server和Executor Server運行在同一個進程裏。這種模式包含Azkaban的所有特性,但一般用來學習和測試。

  1. two-server模式

DB使用的是MySQL,MySQL支持master-slave架構,Web Server和Executor Server運行在不同的進程中。

  1. multiple-executor模式。

DB使用的是MySQL,MySQL支持master-slave架構,Web Server和Executor Server運行在不同機器上,且有多個Executor Server。

目前我們使用的是第二中模式,即two-server模式,其實是在一臺服務器上啓動了兩個進程,分別運行了WebServer和ExecutorServer。

使用

打開鏈接:https://192.168.158.128:8443/
在這裏插入圖片描述
登錄即可使用。

發佈了130 篇原創文章 · 獲贊 9 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章