Azkaban 在3.0版本以後就不提供對應的安裝包,須要本身下載源碼進行編譯。git
下載所需版本的源碼,Azkaban的源碼託管在GitHub上,地址爲https://github.com/azkaban/azkaban 。可使用git clone
的方式獲取源碼,也可使用wget
直接下載對應release版本的tar.gz
文件,這裏我採用第二種方式:程序員
# 下載 wget https://github.com/azkaban/azkaban/archive/3.70.0.tar.gz # 解壓 tar -zxvf azkaban-3.70.0.tar.gz
Azkaban 編譯依賴JDK 1.8+ ,JDK安裝方式見本倉庫:github
Azkaban 3.70.0編譯須要依賴gradle-4.6-all.zip
。Gradle是一個項目自動化構建開源工具,相似於Maven,但因爲採用Groovy語言進行項目配置,因此比Maven更爲靈活,目前普遍用於Android開發、Spring項目的構建。shell
須要注意的是不一樣版本的Azkaban依賴Gradle版本不一樣,能夠在解壓後的/gradle/wrapper/gradle-wrapper.properties
文件查看數據庫
在編譯時程序會自動去圖中所示的地址進行下載,可是下載速度很慢。爲避免影響編譯過程,建議先手動下載至/gradle/wrapper/
目錄下:緩存
# wget https://services.gradle.org/distributions/gradle-4.6-all.zip
而後修改配置文件gradle-wrapper.properties
中的distributionUrl
屬性,指明使用本地的gradle。服務器
Azkaban 的編譯過程須要用Git下載部分JAR包,因此須要預先安裝Git:網絡
# yum install git
在根目錄下執行編譯命令,編譯成功後會有BUILD SUCCESSFUL
的提示:app
# ./gradlew build installDist -x test
編譯過程當中須要注意如下問題:
After version 3.0, we provide two modes: the stand alone 「solo-server」 mode and distributed multiple-executor mode. The following describes thedifferences between the two modes.
按照官方文檔的說明,Azkaban 3.x 以後版本提供2種運行模式:
solo server model(單服務模式) :元數據默認存放在內置的H2數據庫(能夠修改成MySQL),該模式中webServer
(管理服務器)和 executorServer
(執行服務器)運行在同一個進程中,進程名是AzkabanSingleServer
。該模式適用於小規模工做流的調度。
multiple-executor(分佈式多服務模式) :存放元數據的數據庫爲MySQL,MySQL應採用主從模式進行備份和容錯。這種模式下webServer
和executorServer
在不一樣進程中運行,彼此之間互不影響,適合用於生產環境。
下面主要介紹Solo Server
模式。
Solo Server 模式安裝包在編譯後的/azkaban-solo-server/build/distributions
目錄下,找到後進行解壓便可:
# 解壓 tar -zxvf azkaban-solo-server-3.70.0.tar.gz
這一步不是必須的。可是由於Azkaban默認採用的時區是America/Los_Angeles
,若是你的調度任務中有定時任務的話,就須要進行相應的更改,這裏我更改成經常使用的Asia/Shanghai
執行啓動命令,須要注意的是必定要在根目錄下執行,不能進入bin
目錄下執行,否則會拋出Cannot find 'database.properties'
異常。
# bin/start-solo.sh
驗證方式一:使用jps
命令查看是否有AzkabanSingleServer
進程:
驗證方式二:訪問8081端口,查看Web UI界面,默認的登陸名密碼都是azkaban
,若是須要修改或新增用戶,能夠在conf/azkaban-users.xml
文件中進行配置:
更多大數據系列文章能夠參見我的 GitHub 開源項目: 程序員大數據入門指南