centos7下azkaban的安裝部署
Azkaban概述
Azkaban是一個分散式工作流管理器,在LinkedIn上實現,以解決Hadoop作業依賴性問題。我們
有需要按順序執行的工作,從ETL工作到資料分析產品。
按我理解,其實就是提供一個友好的web介面,我們可以設定好一些指定的定時任務,可以是按順序的多個任務,非常好用,上傳任務要上傳壓縮包zip
特點:
1)給使用者提供了一個非常友好的視覺化介面->web介面
2)非常方便的上傳工作流-》打成壓縮包
3)設定任務間的關係
4)許可權設定-》刪庫到跑路
5)模組化
6)隨時停止和啟動任務
7)可以檢視日誌記錄
與Oozie對比
和Oozie相對比,azkaban是一個輕量級排程工具。
企業應用的功能並非小眾的功能可以使用Azkaban。
1)功能
兩個任務流排程器可以排程使用mr,java,指令碼工作流任務
都可以進行定時排程…
2)使用
az直接傳參
Oozie直接傳參,支援EL表示式…
3)定時
az定時執行任務基於時間
Oozie任務基於時間和資料
4)資源
az有嚴格的許可權控制
Oozie無嚴格許可權控制
Azkaban的安裝部署
1)拍個虛擬機器快照
2)上傳安裝包
1.azkaban-executor-server-2.5.0.tar.gz ->解壓mv成executor方便操作
2.azkaban-sql-script-2.5.0.tar.gz
3.azkaban-web-server-2.5.0.tar.gz ->解壓mv成server
(mysql驅動)mysql-libs.zip
3**)解壓**
/opt/azkaban/
4)mysql中azkaban指令碼匯入
source /root/hd/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql
5)建立SSL(安全連線)配置
伺服器需要一個證書
keytool -keystore keystore -alias jetty -genkey -keyalg RSA
6)時間同步設定
生成時區檔案
tzselect生成 Asia/shanghai的檔案
5->9->1->yes
{
ln 軟連線
-s 建立軟連線
-f強制(覆蓋)
}
拷貝時區檔案
–1)ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
–2)cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
兩種都可以
叢集時間同步
CRTt中開啟互動視窗 傳送
sudo date -s ‘2018-11-28 20:41:33’ 寫你現在的時間
7)修改配置檔案
mysql 建立一個數據庫 azkaban
server:
修改zakaban.properties:
修改時區檔案:
default.timezone.id=Asia/Shanghai
改成mysql賬戶密碼
mysql.user=root
mysql.password=root
改成剛剛生成SSL的密碼
jetty.password=123456
jetty.keypassword=123456
jetty.trustpassword=123456
增加使用者,設定許可權
修改azkaban-users.xml:
根據給的模板再加一個
<user username="admin" password="admin" roles="admin.metrics" />
executor:
修改azkaban.properties:
改成mysql賬號密碼:
mysql.user = root
mysql.password = root
其他的用預設的就可以
8)啟動web伺服器
bin/azkaban-web-start.sh
9)啟動執行器
bin/azkaban-executor-start.sh
10)訪問web ,8443埠