Azkaban 3.x 編譯及部署

1、Azkaban 源碼編譯

1.1 下載並解壓

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

1.2 準備編譯環境

1. JDK

Azkaban 編譯依賴 JDK 1.8+ ,JDK 安裝方式見本倉庫:web

Linux 環境下 JDK 安裝shell

2. Gradle

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。網絡

3. Git

Azkaban 的編譯過程須要用 Git 下載部分 JAR 包,因此須要預先安裝 Git:app

# yum install git

1.3 項目編譯

在根目錄下執行編譯命令,編譯成功後會有 BUILD SUCCESSFUL 的提示:分佈式

# ./gradlew build installDist -x test

編譯過程當中須要注意如下問題:

  • 由於編譯的過程須要下載大量的 Jar 包,下載速度根據網絡狀況而定,一般都不會很快,若是網絡很差,耗費半個小時,一個小時都是很正常的;
  • 編譯過程當中若是出現網絡問題而致使 JAR 沒法下載,編譯可能會被強行終止,這時候重複執行編譯命令便可,gradle 會把已經下載的 JAR 緩存到本地,因此不用擔憂會重複下載 JAR 包。

2、Azkaban 部署模式

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 應採用主從模式進行備份和容錯。這種模式下 webServerexecutorServer 在不一樣進程中運行,彼此之間互不影響,適合用於生產環境。

下面主要介紹 Solo Server 模式。

三 、Solo Server 模式部署

2.1 解壓

Solo Server 模式安裝包在編譯後的 /azkaban-solo-server/build/distributions 目錄下,找到後進行解壓便可:

# 解壓
tar -zxvf  azkaban-solo-server-3.70.0.tar.gz

2.2 修改時區

這一步不是必須的。可是由於 Azkaban 默認採用的時區是 America/Los_Angeles,若是你的調度任務中有定時任務的話,就須要進行相應的更改,這裏我更改成經常使用的 Asia/Shanghai

2.3 啓動

執行啓動命令,須要注意的是必定要在根目錄下執行,不能進入 bin 目錄下執行,否則會拋出 Cannot find 'database.properties' 異常。

# bin/start-solo.sh

2.4 驗證

驗證方式一:使用 jps 命令查看是否有 AzkabanSingleServer 進程:


驗證方式二:訪問 8081 端口,查看 Web UI 界面,默認的登陸名密碼都是 azkaban,若是須要修改或新增用戶,能夠在 conf/azkaban-users.xml 文件中進行配置:

更多大數據系列文章能夠參見 GitHub 開源項目大數據入門指南

相關文章
相關標籤/搜索