Azkaban 大数据 任务调度

参考视频:尚硅谷大数据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的配置文件
bash 复制代码
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 , 同步其他节点

bash 复制代码
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启动,激活:
bash 复制代码
# 最好进入azkaban/azkaban-exec下执行,启动server
# 如果 azkaban-exec 下面出现executor.port文件,说明启动成功。或者数据库表(executors)里查看
bin/start-exec.sh

# 激活
curl -G "hadoop102:12321/executor?action=activate" && echo

jps 查看
6 配置 Web Server

编辑 web解压包下conf的azkaban.properties

bash 复制代码
default.timezone.id=Asia/Shanghai

#mysql的数据库信息
mysql...

# 集群可不做修改,单机MininumFreeMemory可能保留的内存过多导致无法启动,去掉
# StaticRemainingFlowSize 正在排队的任务数
# MininumFreeMemory 内存占用最小保留
# CpuStatus cpu占用情况
azkaban.executorselector.filters=StaticRemainingFlowSize,MininumFreeMemory,CpuStatus
7 修改azkaban-users.xml文件 ,用于用户管理

可以不配,默认是 azkaban azkaban

bash 复制代码
vim .../azkaban/azkaban-web/conf/azkaban-users.xml

<user password="123456" roles="admin" username="atguigu">
8 启动web server
bash 复制代码
bin/start-web.sh

访问: http://hadoop:8081(/index) ,并用atguigu登录

Azkaban内置的任务类型支持:commond,java

相关推荐
深空数字孪生3 小时前
储能调峰新实践:智慧能源平台如何保障风电消纳与电网稳定?
大数据·人工智能·物联网
百胜软件@百胜软件4 小时前
胜券POS:打造智能移动终端,让零售智慧运营触手可及
大数据
摩羯座-185690305945 小时前
Python数据可视化基础:使用Matplotlib绘制图表
大数据·python·信息可视化·matplotlib
在未来等你5 小时前
Kafka面试精讲 Day 13:故障检测与自动恢复
大数据·分布式·面试·kafka·消息队列
jiedaodezhuti5 小时前
Flink通讯超时问题深度解析:Akka AskTimeoutException解决方案
大数据·flink
庄小焱5 小时前
大数据存储域——Kafka实战经验总结
大数据·kafka·大数据存储域
zskj_qcxjqr6 小时前
告别传统繁琐!七彩喜艾灸机器人:一键开启智能养生新时代
大数据·人工智能·科技·机器人
每日新鲜事7 小时前
Saucony索康尼推出全新 WOOOLLY 运动生活羊毛系列 生动无理由,从专业跑步延展运动生活的每一刻
大数据·人工智能
在未来等你8 小时前
Kafka面试精讲 Day 15:跨数据中心复制与灾备
大数据·分布式·面试·kafka·消息队列
计算机编程-吉哥9 小时前
大数据毕业设计-基于Python的中文起点网小说数据分析平台(高分计算机毕业设计选题·定制开发·真正大数据)
大数据·hadoop·计算机毕业设计选题·机器学习毕业设计·大数据毕业设计·大数据毕业设计选题推荐·大数据毕设项目