Azkaban-開(kāi)源任務(wù)調(diào)度程序(安裝篇)

最近項(xiàng)目遷移到新集群,試試同事推薦的開(kāi)源任務(wù)調(diào)度程序-azkaban(阿茲卡班),沒(méi)看錯(cuò),就是哈利波特里的阿茲卡班,azikaban主要用來(lái)解決hadoop依賴(lài)任務(wù)的執(zhí)行,但是它本身支持linux和java程序,因此適合做小項(xiàng)目的任務(wù)調(diào)度管理程序。
Azkaban官網(wǎng)

它有三個(gè)重要組件:

  1. 關(guān)系數(shù)據(jù)庫(kù)(目前僅支持mysql)
  2. web管理服務(wù)器-AzkabanWebServer
  3. 執(zhí)行服務(wù)器-AzkabanExecutorServer


    組件

開(kāi)始

Azkaban有三種運(yùn)行模式:

  • solo server mode:最簡(jiǎn)單的模式,數(shù)據(jù)庫(kù)內(nèi)置的H2數(shù)據(jù)庫(kù),管理服務(wù)器和執(zhí)行服務(wù)器都在一個(gè)進(jìn)程中運(yùn)行,任務(wù)量不大項(xiàng)目可以采用此模式。
  • two server mode:數(shù)據(jù)庫(kù)為mysql,管理服務(wù)器和執(zhí)行服務(wù)器在不同進(jìn)程,這種模式下,管理服務(wù)器和執(zhí)行服務(wù)器互不影響
  • multiple executor mode:該模式下,執(zhí)行服務(wù)器和管理服務(wù)器在不同主機(jī)上,且執(zhí)行服務(wù)器可以有多個(gè)。

我們項(xiàng)目要求不是太高,我這次采用第二種模式,管理服務(wù)器、執(zhí)行服務(wù)器分進(jìn)程,但在同一臺(tái)主機(jī)上。

安裝

azkaban和官方說(shuō)的一樣,簡(jiǎn)單易用,先到官網(wǎng)下載相關(guān)包并解壓,我下載的是:

  • azkaban-executor-server-2.5.0.tar.gz(執(zhí)行服務(wù)器)
  • azkaban-web-server-2.5.0.tar.gz(管理服務(wù)器)
  • azkaban-sql-script-2.5.0.tar.gz(mysql腳本)
  1. 數(shù)據(jù)庫(kù)安裝配置
  • 數(shù)據(jù)庫(kù)創(chuàng)建
    <pre>#不一定非要命名為'azkaban'
    mysql>CREATE DATABASE azkaban;
    </pre>
    <pre>#創(chuàng)建用戶(hù)和密碼
    mysql>CREATE USER 'username'@'%' IDENTIFIED BY 'password';
    </pre>
    <pre>#給用戶(hù)相關(guān)權(quán)限
    mysql>GRANT SELECT,INSERT,UPDATE,DELETE ON <database>.* to '<username>'@'%' WITH GRANT OPTION;
    </pre>
  • 數(shù)據(jù)庫(kù)配置
    編輯<code>/etc/my.cnf</code>
    <pre>[mysqld]
    max_allowed_packet=1024M
    </pre>
  • 重啟服務(wù)器
  • 執(zhí)行腳本
    執(zhí)行下載包azkaban-sql-script-2.5.0.tar.gz中腳本“create-all-sql”
  • 檢查下載包web和executor的lib文件下是否有mysql驅(qū)動(dòng),若不存在,則拷貝一個(gè)
  1. web管理服務(wù)器(azkaban-web-2.5.0)
    有幾個(gè)重要目錄和配置文件
文件夾 解釋
bin 用來(lái)存放啟動(dòng)和停止腳本
conf 配置文件,最重要的配置azkaban.properties
lib jar文件,查看是否存在mysql驅(qū)動(dòng)
extlib 擴(kuò)展lib
plugins 擴(kuò)展插件,有hdfs、hive、pig等
web web目錄

配置conf中azkaban.properties,其他默認(rèn)即可

#設(shè)置項(xiàng)目名稱(chēng)
azkaban.name=BigData
#設(shè)置項(xiàng)目副標(biāo)題
azkaban.label=besttone
#一定要設(shè)置為上海,否則按美國(guó)時(shí)間執(zhí)行
default.timezone.id=Asia/Shanghai

database.type=mysql
mysql.port=3306
mysql.host=localhost
#改為自己的數(shù)據(jù)庫(kù)名稱(chēng)
mysql.database=azkaban
#改為自己的數(shù)據(jù)庫(kù)賬號(hào)
mysql.user=azkaban
#改為自己的數(shù)據(jù)庫(kù)密碼
mysql.password=azkaban_abc

mail.sender=email賬號(hào)
mail.host=email服務(wù)器
mail.user=email賬號(hào)
mail.password=email密碼

#Azkaban Jetty 服務(wù)設(shè)置,先安裝此配置,后面再詳細(xì)介紹生產(chǎn)方法.
jetty.maxThreads=25
jetty.ssl.port=8443
jetty.port=8081
jetty.keystore=web/keystore
jetty.password=besttone
jetty.keypassword=besttone
jetty.truststore=web/truststore
jetty.trustpassword=besttone

jetty ssl配置

  • jetty ssl keystore生成

keytool -genkey -keystore keystore -alias jetty-azkaban -keyalg RSA -validity 3560

  • 根據(jù)提示輸入相關(guān)信息,我的密碼為besttone,和上面的password對(duì)應(yīng)

keytool -export -alias jetty-azkaban -keystore keystore -rfc -file selfsignedcert.cer

  • 過(guò)程中如果要輸入密碼,請(qǐng)輸入之前密碼

keytool -import -alias certificatekey -file selfsignedcert.cer -keystore truststore

  • 這時(shí)候在web目錄下新建key目錄,將生成的keystore,truststore拷貝進(jìn)去

執(zhí)行啟動(dòng)命令

./bin/azkaban-web-start.sh

也可以執(zhí)行nohup,后臺(tái)運(yùn)行

nohup ./bin/azkaban-web-start.sh &

關(guān)閉命令

./bin/azkaban-web-shutdown.sh

訪問(wèn)https://localhost:8443
輸入賬號(hào)和密碼,都是azkaban,如果要更改,請(qǐng)修改conf/azkaban-users.xml文件

至此已經(jīng)可以看到web管理界面了,下面執(zhí)行需要啟動(dòng)執(zhí)行服務(wù)器。
ps:如果本地可以執(zhí)行,遠(yuǎn)程無(wú)法執(zhí)行,看是否遠(yuǎn)程服務(wù)器禁用8443端口,將8443改為8888即可。

3.執(zhí)行服務(wù)器
修改conf/azkaban.properties文件,其他默認(rèn)

default.timezone.id=Asia/Shanghai
database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban_abc

執(zhí)行腳本,啟動(dòng)執(zhí)行服務(wù)器

./bin/azkaban-executor-start.sh

也可以執(zhí)行nohup,后臺(tái)運(yùn)行

nohup ./bin/azkaban-executor-start.sh &

關(guān)閉命令

./bin/azkaban-executor-shutdown.sh

4.安裝擴(kuò)展控件
azkaban有很多插件,hdfs、hive、pig等,如有興趣自行安裝,本次項(xiàng)目未用到

自此,安裝已完成,使用篇待續(xù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 準(zhǔn)備工作 Azkaban Web服務(wù)器 azkaban-web-server-2.5.0.tar.gz Azkab...
    小馬哥的程序之路閱讀 3,728評(píng)論 0 3
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,578評(píng)論 19 139
  • 服務(wù)器https配置 配置https操作說(shuō)明文檔 1、查看服務(wù)器環(huán)境配置(tomcat和apache合并使用) 2...
    南京楊小兵閱讀 9,255評(píng)論 0 9
  • PhpStorm看起來(lái)是一款集成豐富、極其臃腫的一款PHP開(kāi)發(fā)軟件,雖然啟動(dòng)速度和運(yùn)行速度沒(méi)有像Sublime、A...
    大頭東閱讀 1,819評(píng)論 1 6
  • 姓名:巴桂成 公司:寧波大發(fā)化纖有限公司 寧波盛和塾《六項(xiàng)精進(jìn)》235期學(xué)員 【日精進(jìn)打卡第155天】 【知~學(xué)習(xí)...
    巴桂成_c6dd閱讀 218評(píng)論 0 0

友情鏈接更多精彩內(nèi)容