參考視頻:尚硅谷大數據Azkaban 3.x教程(全新發布)_嗶哩嗶哩_bilibili
Azkaban: 是一個定時、批量工作流任務調度器(工作流程調度,定時調度)
常見的開源調度系統:
? ? ? ? 簡單單一的任務調度: Linux的Crontab
????????復雜的任務調度: Ooize ,Azkaban, Airflow(python寫的), DolphinScheduler
?比較:
? ? ? ? Ooize 相比Azkaban 是一個重量級的任務調度系統,功能全面,但配置使用更加復雜。如果可以不在意某些功能的缺失,輕量級調度器Azkaban是很不錯的選擇
? ? ? ? Ooize : CDH平臺下的平臺調度器,借助可視化的HUE使用比較友好
? ? ? ? Azkaban:簡單易用
? ? ? ? Airflow : python開發調度的,具備一定的python基礎
? ? ? ? DolphinScheduler: 現在比較好的,可視化的操作,比較方便
特點:
? ? 1 兼容任何版本的hadoop
? ? 2 易于使用的web用戶界面
? ? 3 簡單的工作流上傳
? ? 4 方便設置任務之間的關系
? ? 5?調度工作流
? ? 6?模塊化和可插拔的插件機制
? ? 7?認證/授權
? ? 8?能夠殺死并重新啟動工作流
? ? 9?有關失敗和成功的電子郵件提醒
三個關鍵組件
? 1? AzkabanWebServer :
????????是Azkaban工作流系統的主要管理者,作用:用戶認證,負責project管理,定時執行工作流,跟蹤工作流執行進度等等
? 2? AzkabanExecutorServer :
????????負責具體的工作流的提交、執行,他們通過mysql數據庫來協調任務的執行
? 3? Mysql :
????????存儲大部分執行流狀態等信息
部署:
? ? ? ?1 上傳jar包,解壓
????????????????里面mysql腳本包,excecutor包(集群部署多個服務器),web包.
????????????????安裝順序: mysql -> excecutor -> web
? ? ? ? 2 安裝mysql數據庫
????????????????刷mysql腳本里的 create-all-sql-3.xxxx.sql 腳本
? ? ? ? 3 修改mysql的配置文件? ? ? ? ? ? ? ??
sudo vim /etc/my.cnf# mysqld下面加一行 , 更改mysql包大小,防止Azkaban連接Mysql阻塞,重啟mysql
max_allowed_packet=1024M# 重啟mysql
sudo systemctl restart mysqld
? ? ? ? 4 配置Executor Server:
? ? ? ? ? ? ? ? 編輯executor解壓包下conf里的?azkaban.properties , 同步其他節點
vim .../azkaban/azkaban-exec/conf/azkaban.properties# 配置時區
default.timezone.id=Asia/Shanghai# webserver的連接
azkaban.webserver.url=http://hadoop102:8081# executor的端口,不配會隨機值,不便于管理
executor.port=12321# 配置數據庫信息
mysql.port=3306
mysql.host=
mysql.database=
mysql.user=
mysql.password=
? ? ? ? ?5 Executor Server啟動,激活:? ? ? ? ?
# 最好進入azkaban/azkaban-exec下執行,啟動server
# 如果 azkaban-exec 下面出現executor.port文件,說明啟動成功。或者數據庫表(executors)里查看
bin/start-exec.sh# 激活
curl -G "hadoop102:12321/executor?action=activate" && echojps 查看
? ? ? ? 6 配置 Web Server?
? ? ? ? 編輯 web解壓包下conf的azkaban.properties????????
default.timezone.id=Asia/Shanghai#mysql的數據庫信息
mysql...# 集群可不做修改,單機MininumFreeMemory可能保留的內存過多導致無法啟動,去掉
# StaticRemainingFlowSize 正在排隊的任務數
# MininumFreeMemory 內存占用最小保留
# CpuStatus cpu占用情況
azkaban.executorselector.filters=StaticRemainingFlowSize,MininumFreeMemory,CpuStatus
? ? ? ? 7 修改azkaban-users.xml文件 ,用于用戶管理
? ? ? ? 可以不配,默認是 azkaban azkaban
vim .../azkaban/azkaban-web/conf/azkaban-users.xml<user password="123456" roles="admin" username="atguigu">
? ? ? ? 8 啟動web server
bin/start-web.sh
? ? ? ? 訪問: http://hadoop:8081(/index)? ,并用atguigu登錄
Azkaban內置的任務類型支持:commond,java