Azkaban分布安裝部署

獲取編譯好的文件

獲取編譯好的安裝文件上傳并解壓/root/hd/azkaban-3.50.0
找到三個需要的配置文件
azkaban-db/build/distributions
azkaban-web-server/build/distributions
azkaban-exec-server/build/distributions
distributions下就是我們需要的編譯后的壓縮文件
把壓縮文件分別分發(fā)到對應(yīng)的服務(wù)器

在azkaban-db/build/distributions下 只需獲取create-all-sql-0.1.0-SNAPSHOT.sql 創(chuàng)建數(shù)據(jù)庫表

分布式multiple-executor模式安裝部署
任務(wù)分配如下

HOST 角色
node1 web-server
node2 mysql
node3 exec-server
node4 exec-server

mysql
create database azkaban_data;

grant all privileges on azkaban_data.* to 'hive'@'%' identified by 'hive';

grant all privileges on azkaban_data.* to 'hive'@'localhost' identified by 'hive';

grant all privileges on azkaban_data.* to 'hive'@'hq555' identified by 'hive';

flush privileges;

source /root/hd/create-all-sql-0.1.0-SNAPSHOT.sql ;

注意 如果導(dǎo)入數(shù)據(jù)過程報錯 索引過長 更改數(shù)據(jù)庫編碼 刪除所有表 重新導(dǎo)入數(shù)據(jù)

拷貝web-server到node1

解壓

生成ssl
keytool -keystore keystore -alias jetty -genkey -keyalg RSA

注:密碼和最后確認(rèn)需要輸入,其他默認(rèn)即可口蝠。生成keystore復(fù)制到exe所在服務(wù)器為配置準(zhǔn)備

設(shè)置web‐server

拷貝conf目錄和log4j.properties

scp -r /root/azkaban-solo-server-0.1.0-SNAPSHOT/conf /root/azkaban-web-server-0.1.0-SNAPSHOT/
scp azkaban-3.42.0/azkaban-web-server/src/test/resources/log4j.properties azkaban-web-server-0.1.0-SNAPSHOT/conf/
vim azkaban-web-server-0.1.0-SNAPSHOT/conf/azkaban.properties

// 配置內(nèi)容如下
azkaban.name=Test
azkaban.label=My Local Azkaban
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=/root/hd/azkaban/azkaban-web-server-0.1.0-SNAPSHOT/web
default.timezone.id=Asia/Shanghai // 時間修改為上海

# Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=/root/hd/azkaban/azkaban-web-server-0.1.0-SNAPSHOT/conf/azkaban-users.xml

# Loader for projects
executor.global.properties=/root/hd/azkaban/azkaban-web-server-0.1.0-SNAPSHOT/conf/global.properties
azkaban.project.dir=projects

#database.type=h2
#h2.path=./h2
#h2.create.tables=true
database.type=mysql
mysql.port=3306
mysql.host=hq666
mysql.database=azkaban_data
mysql.user=hive
mysql.password=hive
mysql.numconnections=100

# Velocity dev mode
velocity.dev.mode=false

# Azkaban Jetty server properties.
#jetty.use.ssl=true
jetty.maxThreads=25
jetty.port=8081
jetty.keystore=/root/hd/keystore
jetty.password=****
jetty.keypassword=****
jetty.truststore=/root/hd/keystore
jetty.trustpassword=****

# Azkaban Executor settings
executor.port=12321

# 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=/root/hd/azkaban/azkaban-web-server-0.1.0-SNAPSHOT/plugins/jobtypes

#啟用multiple-executor模式
azkaban.use.multiple.executors=true

#在每次分發(fā)job時狂打,先過濾出滿足條件的executor,然后再做比較篩選
#如最小剩余內(nèi)存,MinimumFreeMemory,過濾器會檢查executor空余內(nèi)存是否會大于6G真友,如果不足6G敞葛,則web-server不會將任務(wù)交由該executor執(zhí)行。可參考Azkaban Github源碼
#如CpuStatus毒租,過濾器會檢查executor的cpu占用率是否達(dá)到95%,若達(dá)到95%箱叁,web-server也不會將任務(wù)交給該executor執(zhí)行墅垮。可參考Azkaban Github源碼耕漱。
#參數(shù)含義參考官網(wǎng)說明 http://azkaban.github.io/azkaban/docs/latest/#configuration
#由于是虛擬機(jī)算色,不需要過濾,只需要比較即可
#azkaban.executorselector.filters=StaticRemainingFlowSize,MinimumFreeMemory,CpuStatus
#某個任務(wù)是否指定了executor id
azkaban.executorselector.comparator.NumberOfAssignedFlowComparator=1
#內(nèi)存
azkaban.executorselector.comparator.Memory=1
#最后一次被分發(fā)
azkaban.executorselector.comparator.LastDispatched=1
#CPU
azkaban.executorselector.comparator.CpuUsage=1

注意涉及到路徑都寫絕對路徑

設(shè)置plugins/jobtypes
mkdir -p plugins/jobtypes
vim commonprivate.properties
azkaban.native.lib=false
execute.as.user=false
添加用戶azkaban-users.xml
<user username="admin" password="admin" roles="admin,metrics"/>
<user groups="azkaban" password="azkaban" roles="admin" username="azkaban"/>
<user password="metrics" roles="metrics" username="metrics"/>
<role name="admin" permissions="ADMIN"/>
<role name="metrics" permissions="METRICS"/>
拷貝exec-server到node3螟够、node4

解壓

從web-server拷貝conf目錄灾梦、plugins目錄到executor‐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=/root/hd/azkaban-exec-server-0.1.0-SNAPSHOT/conf/azkaban-users.xml
# Loader for projects
executor.global.properties=/root/hd/azkaban-exec-server-0.1.0-SNAPSHOT/conf/global.properties
azkaban.project.dir=/root/hd/azkaban-exec-server-0.1.0-SNAPSHOT/bin/projects
#database.type=h2
#h2.path=./h2
#h2.create.tables=true
database.type=mysql
mysql.port=3306
mysql.host=hq666
mysql.database=azkaban_data
mysql.user=hive
mysql.password=hive
mysql.numconnections=100
# Velocity dev mode
velocity.dev.mode=false
# Azkaban Jetty server properties.
jetty.use.ssl=true
jetty.maxThreads=25
jetty.port=8081
jetty.keystore=/root/hd/keystore
jetty.password=****
jetty.keypassword=****
jetty.truststore=/root/hd/keystore
jetty.trustpassword=****
# Azkaban Executor settings
executor.port=12321
# 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=/root/hd/azkaban-exec-server-0.1.0-SNAPSHOT/plugins/jobtypes
#啟用multiple-executor模式
azkaban.use.multiple.executors=true
#在每次分發(fā)job時,先過濾出滿足條件的executor妓笙,然后再做比較篩選
#如最小剩余內(nèi)存,MinimumFreeMemory,過濾器會檢查executor空余內(nèi)存是否會大于6G若河,如果不足6G,則web-server不會將任務(wù)交由該executor執(zhí)行寞宫∠舾#可參考Azkaban Github源碼
#如CpuStatus,過濾器會檢查executor的cpu占用率是否達(dá)到95%辈赋,若達(dá)到95%鲫忍,web-server也不會將任務(wù)交給該executor執(zhí)行≡壳可參考Azkaban Github源碼悟民。
#參數(shù)含義參考官網(wǎng)說明 http://azkaban.github.io/azkaban/docs/latest/#configuration
#由于是虛擬機(jī),不需要過濾焕蹄,只需要比較即可
#azkaban.executorselector.filters=StaticRemainingFlowSize,MinimumFreeMemory,CpuStatus
#某個任務(wù)是否指定了executor id
azkaban.executorselector.comparator.NumberOfAssignedFlowComparator=1
#內(nèi)存
azkaban.executorselector.comparator.Memory=1
#最后一次被分發(fā)
azkaban.executorselector.comparator.LastDispatched=1
#CPU
azkaban.executorselector.comparator.CpuUsage=1
在azkaban_data庫executors表中添加executor
mysql> insert into executors(host,port,active) values("192.168.222.110",12321,1);
mysql> insert into executors(host,port,active) values("192.168.222.111",12321,1);

注:這里把a(bǔ)ctive設(shè)置為1(激活狀態(tài))逾雄。

啟動node1 web-server、node3 exec-server、node4 exec-server

先啟動exec-server鸦泳,再啟動 web-server

./start-exec.sh 
./start-web.sh
瀏覽器訪問
https://ip:8443
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末银锻,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子做鹰,更是在濱河造成了極大的恐慌击纬,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件钾麸,死亡現(xiàn)場離奇詭異更振,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)饭尝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進(jìn)店門肯腕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人钥平,你說我怎么就攤上這事实撒。” “怎么了涉瘾?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵知态,是天一觀的道長。 經(jīng)常有香客問我立叛,道長负敏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任秘蛇,我火速辦了婚禮其做,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘彤叉。我一直安慰自己庶柿,他們只是感情好村怪,可當(dāng)我...
    茶點故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布秽浇。 她就那樣靜靜地躺著,像睡著了一般甚负。 火紅的嫁衣襯著肌膚如雪柬焕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天梭域,我揣著相機(jī)與錄音斑举,去河邊找鬼。 笑死病涨,一個胖子當(dāng)著我的面吹牛富玷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼赎懦,長吁一口氣:“原來是場噩夢啊……” “哼雀鹃!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起励两,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤黎茎,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后当悔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體傅瞻,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年盲憎,在試婚紗的時候發(fā)現(xiàn)自己被綠了嗅骄。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡饼疙,死狀恐怖掸读,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情宏多,我是刑警寧澤儿惫,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站伸但,受9級特大地震影響肾请,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜更胖,卻給世界環(huán)境...
    茶點故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一铛铁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧却妨,春花似錦饵逐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至捞烟,卻和暖如春薄声,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背题画。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工默辨, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人苍息。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓缩幸,卻偏偏與公主長得像壹置,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子表谊,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,876評論 2 361

推薦閱讀更多精彩內(nèi)容