Azkaban安裝和簡單使用

1、Azkaban介紹和安裝

1.1 介紹

Azkzban是一款輕量級的調度工具,提供了一個良好的Web操作界面;
首先它不是apache項目,但屬於開源項目,官網地址 :https://azkaban.github.io/
兩種部署模式:無論哪一種部署模式都會包含所有的特性

solo-server mode :單機模式,內置了H2數據庫,web和executor服務運行在一個進程上,可用於測試,本次測試部署的是單機模式。
multiple-executor mode:集羣模式,DB使用的是有主備的mysql,升級維護不影響使用,用於生產

1.2 下載安裝包

安裝包:azkaban-3.57.0.tar.gz 下載地址:https://github.com/azkaban/azkaban/releases/tag/3.57.0
需要有jdk1.8、gradle、git環境,gradle類似於maven
在這裏插入圖片描述
下載gradle: https://gradle.org/releases/,我這裏下載的是4.6版本
在這裏插入圖片描述

1.3 配置和編譯

下載完成後,上傳到software目錄下,並解壓azkaban-3.57.0.tar.gz到source目錄

[hadoop@vm01 software]$ pwd
/home/hadoop/software

[hadoop@vm01 software]$ ll
...
-rw-r--r--. 1 hadoop hadoop  19048383 Aug 22 19:38 azkaban-3.57.0.tar.gz
-rw-r--r--. 1 hadoop hadoop 106724289 Aug 22 19:39 gradle-4.6-all.zip

[hadoop@vm01 software]$ tar -zxvf azkaban-3.57.0.tar.gz -C ../source

gradle-4.6-all.zip包拷貝到azkaban-3.57.0/gradle/wrapper/目錄下

[hadoop@vm01 software]$ cp gradle-4.6-all.zip ../source/azkaban-3.57.0/gradle/wrapper
[hadoop@vm01 software]$ cd ../source/azkaban-3.57.0/gradle/wrapper
[hadoop@vm01 wrapper]$ ll
total 104284
-rw-r--r--. 1 hadoop hadoop 106724289 May  2 19:49 gradle-4.6-all.zip
-rw-rw-r--. 1 hadoop hadoop     54708 Sep  5  2018 gradle-wrapper.jar
-rw-rw-r--. 1 hadoop hadoop       736 May  2 19:47 gradle-wrapper.properties

修改配置

[hadoop@vm01 wrapper]$ vi gradle-wrapper.properties 
#修改該選項
distributionUrl=gradle-4.6-all.zip

安裝git
注意這裏是root用戶

[root@hadoop001 ~]$ yum install git
[root@hadoop001 ~]# git --version
git version 1.8.3.1

開始漫長的編譯。
如果中間因爲網絡原因出現jar包下載失敗,編譯會退出,但是沒關係,再次重新編譯即可,之前下載的jar包會緩存在本地,不會再次下載的。本人中間重編譯了3次才成功的。

[hadoop@vm01 ~]# cd /home/hadoop/source/azkaban-3.57.0
[hadoop@vm01 azkaban-3.57.0]# ./gradlew build installDist -x test

1.4 配置Azkaban

編譯成功後,會在azkaban-solo-server/build/distributions/路徑下生成對應的包,有兩個都可以,我們選擇tar包解壓安裝

[hadoop@vm01 azkaban-3.57.0]$ cd azkaban-solo-server/build/distributions/
[hadoop@hadoop001 distributions]$ ll
total 46752
-rw-rw-r--. 1 hadoop hadoop 23870855 May  2 20:10 azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz
-rw-rw-r--. 1 hadoop hadoop 24001502 May  2 20:10 azkaban-solo-server-0.1.0-SNAPSHOT.zip

[hadoop@hadoop001 distributions]$ tar -zxvf azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz -C ~/app

修改配置文件

[hadoop@vm01 conf]$ pwd
/home/hadoop/app/azkaban-solo-server-0.1.0-SNAPSHOT/conf

[hadoop@vm01 conf]$ vi azkaban.properties
#修改這兩個選項
azkaban.name=RUOZEDATA
azkaban.label=Ruozedata Azkaban

[hadoop@vm01 conf]$ vi azkaban-users.xml
#添加該行,web登陸Azkaban的用戶和密碼
<user password="000000" roles="admin" username="ruozedata" />

啓動Azkaban

[hadoop@vm01 azkaban-solo-server-0.1.0-SNAPSHOT]$ bin/start-solo.sh
[hadoop@vm01 azkaban-solo-server-0.1.0-SNAPSHOT]$ jps
19345 AzkabanSingleServer #進程

#關閉
[hadoop@vm01 azkaban-solo-server-0.1.0-SNAPSHOT]$ bin/shutdown-solo.sh

1.5 Web登陸Azkaban

在這裏插入圖片描述

2、Azkaban簡單操作

2.1 編輯兩個文件

創建一個first目錄,下面存放兩個兩個文件,也是Azkaban需要的兩個文件:basic.flowflow20.project
在這裏插入圖片描述
flow20.project的文件內容:

azkaban-flow-version: 2.0

basic.flow的文件內容:
name:作業名
type:命令類型,比如comand
commond:這裏輸出了一句話This is an echoed text

nodes:
  - name: jobA
    type: command
    config:
      command: echo "This is an echoed text."

將first目錄打成zip包
在這裏插入圖片描述

2.2 創建項目和上傳zip包

創建項目,名字:ruozedata-azkaban-helloworld
在這裏插入圖片描述
上傳zip包,左邊能看到你的base信息,jobA表示成功
然後Excutor Flow執行
後面的一些運行log日誌,自己去點一點,看一看,這裏不演示了。
在這裏插入圖片描述

2.3 Job之間的Dependency測試

老樣子,新建一個dependency目錄,下面兩個文件,主要編輯basic.flow文件
在這裏插入圖片描述
basic.flow文件內容:

nodes:
  - name: jobC
    type: noop
    # jobC depends on jobA and jobB
    dependsOn:
      - jobA
      - jobB

  - name: jobA
    type: command
    config:
      command: echo "This is an A text."

  - name: jobB
    type: command
    config:
      command: echo "This is an B text."

然後把dependency打成zip包,上傳到Azkaban,執行
新建項目,ruozedata-azkanban-dependency
上傳zip包,看到左邊的JobA/B/C信息,然後點擊Excutor Flow執行
在這裏插入圖片描述

2.4 Job調度,在規定時間執行

選擇你的項目,點擊進去
在這裏插入圖片描述
在右上角可以看到調度選項,點擊進去
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
設置完成,可以查看到你的調度時間
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章