Azkaban —— 編譯及部署

1、Azkaban 源碼編譯

1.1 下載並解壓

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

1.2 準備編譯環境

1. JDK

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

Linux環境下JDK安裝web

2. Gradle

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。服務器

3. Git

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

# yum install git

1.3 項目編譯

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

# ./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 開源項目: 程序員大數據入門指南

相關文章
相關標籤/搜索