Azkaban 在 3.0 版本以後就不提供對應的安裝包,須要本身下載源碼進行編譯。git
下載所需版本的源碼,Azkaban 的源碼託管在 GitHub 上,地址爲 https://github.com/azkaban/azkaban 。可使用 git clone
的方式獲取源碼,也可使用 wget
直接下載對應 release 版本的 tar.gz
文件,這裏我採用第二種方式:github
# 下載 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 安裝方式見本倉庫:web
Linux 環境下 JDK 安裝shell
Azkaban 3.70.0 編譯須要依賴 gradle-4.6-all.zip
。Gradle 是一個項目自動化構建開源工具,相似於 Maven,但因爲採用 Groovy 語言進行項目配置,因此比 Maven 更爲靈活,目前普遍用於 Android 開發、Spring 項目的構建。數據庫
須要注意的是不一樣版本的 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:app
# yum install git
在根目錄下執行編譯命令,編譯成功後會有 BUILD SUCCESSFUL
的提示:分佈式
# ./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 種運行模式:
webServer
(管理服務器) 和 executorServer
(執行服務器) 運行在同一個進程中,進程名是 AzkabanSingleServer
。該模式適用於小規模工做流的調度。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 開源項目: 大數據入門指南