azkaban的安裝和使用

1.環境準備

Mysql數據庫:mysql5.6
JDK:jdk1.8

2.需要軟件

Azkaban source:https://github.com/azkaban/azkaban
Azkaban plugins source:https://github.com/azkaban/azkaban-plugins
doc:https://azkaban.github.io/azkaban/docs/2.5/
下載地址:https://pan.baidu.com/s/1LGmDwpzs2F9mA2qJmI8dtA

azkaban-executor-server-2.5.0.tar.gz
azkaban-sql-script-2.5.0.tar.gz
azkaban-web-server-2.5.0.tar.gz

3.初始化Mysql數據庫

解壓azkaban-sql-script-2.5.0.tar.gz

tar -zxvf azkaban-sql-script-2.5.0.tar.gz

登錄數據庫

mysql -uroot -p

創建數據庫

create database azkaban;

切換數據庫:

use azkaban;

初始化數據庫

source /data/app/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql

4.安裝azkaban-web

1)解壓azkaban-web-server-2.5.0.tar.gz
tar -zxvf azkaban-web-server-2.5.0.tar.gz
2)生成keystore文件

在/data/app/azkaban/azkaban-web-2.5.0目錄下生成keystore文件

keytool -keystore keystore -alias jetty -genkey -keyalg RSA
Enter keystore password:  (輸入azkaban)
Re-enter new password: (輸入azkaban)
What is your first and last name?
  [Unknown]:  
What is the name of your organizational unit?
  [Unknown]:  
What is the name of your organization?
  [Unknown]:  
What is the name of your City or Locality?
  [Unknown]:  
What is the name of your State or Province?
  [Unknown]:  
What is the two-letter country code for this unit?
  [Unknown]:  CN
Is CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN correct?
  [no]:  y

Enter key password for <jetty>
	(RETURN if same as keystore password):  (回車)

Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore keystore -destkeystore keystore -deststoretype pkcs12".
3)配置azkaban.properties

切換到conf目錄

cd azkaban-web-2.5.0/conf/

編輯azkaban.properties

vim azkaban.properties

修改下方有註解的配置

#Azkaban Personalization Settings
azkaban.name=Test  #服務器UI名稱,用於服務器上方顯示的名字
azkaban.label=My Local Azkaban
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=web/
default.timezone.id=Asia/Shanghai  # 修改時區設置timezone爲亞洲/上海

#Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=conf/azkaban-users.xml

#Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects

database.type=mysql
mysql.port=3306  #端口號
mysql.host=localhost  #數據庫連接IP
mysql.database=azkaban  #數據庫實例名
mysql.user=root  #數據庫用戶名
mysql.password=root  #數據庫密碼
mysql.numconnections=100  #最大連接數

# Velocity dev mode
velocity.dev.mode=false

# Azkaban Jetty server properties.
jetty.maxThreads=25
jetty.ssl.port=8443
jetty.port=8081
jetty.keystore=keystore  #SSL文件名
jetty.password=azkaban  #SSL文件密碼
jetty.keypassword=azkaban  #Jetty主密碼 與 keystore文件相同
jetty.truststore=keystore  #SSL文件名
jetty.trustpassword=azkaban  # SSL文件密碼

# Azkaban Executor settings
executor.port=12321  #執行服務器端口

# mail settings
mail.sender=XXXX@163.com  #發送郵箱
mail.host=smtp.163.com  #發送郵箱smtp地址
job.failure.email=XXXX@163.com  #任務失敗時發送郵件的地址
job.success.email=XXXX@163.com  #任務成功時發送郵件的地址

lockdown.create.projects=false

cache.directory=cache
4)用戶配置

修改azkaban-users.xml,增加管理員用戶admin

vim azkaban-users.xml

<azkaban-users>
        <user username="azkaban" password="azkaban" roles="admin" groups="azkaban" />
        <user username="metrics" password="metrics" roles="metrics"/>
        <user username="admin" password="admin" roles="admin,metrics" />
        <role name="admin" permissions="ADMIN" />
        <role name="metrics" permissions="METRICS"/>
</azkaban-users>

5.安裝azkaban-executor

1)解壓azkaban-web-server-2.5.0.tar.gz
tar -zxvf azkaban-executor-server-2.5.0.tar.gz
2)修改azkaban.properties文件配置

切換到conf目錄

cd azkaban-executor-2.5.0/conf/

編輯azkaban.properties

vim azkaban.properties

修改下方有註解的配置

#Azkaban
default.timezone.id=Asia/Shanghai  #時區

# Azkaban JobTypes Plugins
azkaban.jobtype.plugin.dir=plugins/jobtypes

#Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects

database.type=mysql
mysql.port=3306  #數據庫端口號
mysql.host=localhost  #數據庫IP地址
mysql.database=azkaban  #數據庫實例名
mysql.user=root  #數據庫用戶名
mysql.password=root  #數據庫密碼
mysql.numconnections=100  #最大連接數

# Azkaban Executor settings
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30

6.啓動

1)azkaban-web啓動

在azkaban web服務器目錄下執行啓動命令

nohup /bin/start-web.sh  1>/tmp/azstd.out  2>/tmp/azerr.out &
2)安裝azkaban-executor

在執行服務器目錄下執行啓動命令

bin/start-exec.sh
3)訪問

啓動完成後,在瀏覽器(建議使用谷歌瀏覽器)中輸入https://服務器IP地址:8443 ,即可訪問azkaban服務了.在登錄中輸入剛纔新的戶用名及密碼,點擊 login.在這裏插入圖片描述
輸入用戶名密碼登入系統
在這裏插入圖片描述

7.簡單案例

1)job的創建

創建job很簡單,只要創建一個以.job結尾的文本文件就行了,本次創建一個工作,用來打印hello,名字叫做command.job

#command.job
type=command
command=echo 'hello'
2)將 job 資源文件打包

在這裏插入圖片描述

3)創建一個工程,填寫名稱和描述

在這裏插入圖片描述
在這裏插入圖片描述

4)通過 azkaban web 管理平臺上傳壓縮包

在這裏插入圖片描述
配置執行任務
在這裏插入圖片描述
在這裏插入圖片描述
點擊立即運行
在這裏插入圖片描述
查看執行結果
在這裏插入圖片描述
在這裏插入圖片描述

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