【Hadoop大数据技术】——Azkaban工作流管理器(学习笔记)

embedded/2024/10/20 13:32:57/

📖 前言:在前面HDFS分布式文件系统中,我们使用Linux自带的Crontab(定时任务工具)来定时调度任务,但是当业务规模变大并且需要可视化监控任务执行的时候,Crontab就已经不能满足这些需求了。为此,针对多任务,可视化调度的管理需求,工作流管理器便应运而生。

在这里插入图片描述


目录

  • 🕒 1. 工作流调度系统背景
  • 🕒 2. 常用工作流管理器介绍
  • 🕒 3. Azkaban特点
  • 🕒 4. Azkaban组成结构
  • 🕒 5. Azkaban部署模式
  • 🕒 6. 课后习题

🕒 1. 工作流调度系统背景

一个完整的数据分析系统通常都是由大量任务单元组成,例如shell脚本程序、java程序、mapreduce程序和Hive脚本等。各任务单元之间存在时间先后及依赖关系,为了将这复杂的执行计划组织起来,需要一个工作流调度系统来调度执行

🕒 2. 常用工作流管理器介绍

  1. Azkaban
    Azkaban是由Linkedin公司开源的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程。
  2. Oozie
    Oozie是Apache旗下的,用于管理Hadoop任务的工作流/协调系统,可与Hadoop生态圈紧密结合,提供诸多配置和功能。
  3. Zeus
    Zeus是Alibaba开源的一个完整的Hadoop的作业平台,用于从Hadoop任务的调试运行到生产任务的周期调度管理。Zeus是针对Hadoop集群任务定制的,通用性不强。Zeus在Github上线时受到青睐,但是由于长期缺乏维护更新,时隔2年,依然仅支持Hadoop1.X版本,后期的Zeus版本也不再开源了。

🕒 3. Azkaban特点

Azkaban通过作业的依赖性解决业务调度顺序,并提供易于使用的UI界面来维护和跟踪工作流程,其主要特点如下:
(1) 兼容任何版本的Hadoop;
(2) 易于使用的Web UI界面;
(3) 简单的Web和Http工作流上传;
(4) 支持工作流定时调度;
(5) 支持模块化和可插入;
(6) 支持身份验证和授权;
(7) 支持用户操作跟踪;
(8) 提供有关失败和成功的电子邮件提醒;
(9) 提供SLA警报和自动查杀功能。

🕒 4. Azkaban组成结构

Azkaban工作流管理器由三个核心部分组成,分别是Relational Database(关系型数据库MySQL)、AzkabanWebServer(Web服务器)、AzkabanExecutorServer(执行服务器)。三者关系具体如图所示。

在这里插入图片描述

  • Relational Database负责存储Azkaban相关的数据,包括上传的工作流、作业的执行日志等,Azkaban Web Server和Azkaban Executor Server都会频繁访问Relational Database获取Azkaban相关的数据。
  • Azkaban Web Server是Azkaban的主要管理者,它用于处理项目管理、身份验证、任务调度和触发工作流执行等,同时为用户提供Web界面供用户查看。
  • Azkaban Executor Server主要负责工作流和工作的实际执行。在最初的Azkaban版本中,Azkaban Web Server和Azkaban Executor Server是自动部署在同一台服务器中的,后来由于功能需求和扩展,可以将Azkaban Web Server和Azkaban Executor Server分别部署在不同的服务器中。

🕒 5. Azkaban部署模式

  1. solo-server ode(独立服务器模式)
    在独立服务器模式下,使用的数据库是内嵌的H2,并且web server和executor server都在同一进程中运行,通常适用于小规模测试阶段。
  2. two server mode(双服务器模式)
    双服务器模式适用于比较复杂的生产环境,它的数据库会由具有主从设置的MySQL实例提供支持。其中,Web服务器和执行服务器应在不同的进程中运行,以便升级和维护过程中不影响用户。
  3. distributed multiple-executor mode(分布式多执行器模式)
    分布式多执行器模式适用于特别复杂的生产环境,理想情况下,Web服务器和执行服务器应在不同的主机中运行,以便升级和维护不影响用户。这种分布式多主机设置的模式为Azkaban带来了强大且可扩展的性能。

🕒 6. 课后习题

一、填空题。
1、Azkaban定义了一种______格式来建立任务之间的依赖关系,并提供一个易于使用的_____维护和跟踪工作流。
2、Azkaban工作流管理器的特点是所有的任务资源文件都需要____上传。

二、判断题。
1、Azkaban可以通过查看executorServerLog__*.out日志文件和logs目录下的日志文件查看Azkaban Executor服务器的启动情况。
2、Azkaban是对job进行调度管理的,而每一个job任务都是编写在一个文本文件中,且对文本文件没有限制。
3、Azkaban要建立job之间的依赖关系需要使用command参数。

三、选择题
1、下列选项中是配置job的必要参数(多选)
A、type
B、dependencies
C、command
D、flow.name

四、简答题。
1、简述Azkaban中的project、job和flow元素的关系。
2、简述Azkaban的组成部分,以及各个部分的功能。

答案:
一、填空题
1、 KV文件、UI界面
2、 打成一个zip包

二、判断题
1、√ 2、× 3、×

三、选择题
1、AC

四、简答题
1、project可以理解为Azkaban的某个项目,在项目中包含了许多需要执行的任务,即为job,各个job之间形成依赖关系,就组成了工作流flow。
2、Azkaban分为三部分,mysql服务器:用于存储项目、日志或者执行计划之类的信息;web服务器:使用Jetty对外部提供web服务,使用户通过WEB UI操作Azkaban系统;executor服务器:负责具体的工作流的提交、执行。


OK,以上就是本期知识点“Azkaban工作流管理器”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~

❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页


http://www.ppmy.cn/embedded/8878.html

相关文章

北大字节联合发布视觉自动回归建模(VAR):通过下一代预测生成可扩展的图像

北大和字节发布一个新的图像生成框架VAR。首次使GPT风格的AR模型在图像生成上超越了Diffusion transformer。 同时展现出了与大语言模型观察到的类似Scaling laws的规律。在ImageNet 256x256基准上,VAR将FID从18.65大幅提升到1.80,IS从80.4提升到356.4,推理速度提高了20倍。 相…

牛客Linux高并发服务器开发学习第二天

Gcc编译 利用gcc 生成应用时如果不加-o 和应用名,默认生成a.out 可以用./ a.out打开 Gcc工作流程 可执行程序Windows系统中为.exe Linux系统中为.out g也可以编辑c程序 gcc也可以编译cpp代码,只是在编译阶段gcc不能自动共和C程序使用的库进行联接&…

python--pyQt5 进度条:QProgressBar

https://www.cnblogs.com/itwangqiang/articles/14959401.html https://blog.csdn.net/weixin_43990846/article/details/123880081 进度条用于向用户指示操作的进度,并向他们保证应用程序仍在运行 例 1 import sys from PyQt5.QtWidgets import QApplication, QWi…

2024蓝桥杯每日一题(最大公约数)

备战2024年蓝桥杯 -- 每日一题 Python大学A组 试题一:公约数 试题二:最大公约数 试题三:等差数列 试题四:最大比例 试题五:Hankson的趣味题 试题一:公约数 【题目描述】 …

“卫星-无人机-地面”遥感数据快速使用及地物含量计算的实现方法

原文链接:“卫星-无人机-地面”遥感数据快速使用及地物含量计算的实现方法https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247601940&idx6&sn515e01666037570939aaf0eee56f46d1&chksmfa820ef3cdf587e5276eac181c890026b6ca4bc36ce0e4f80d89d…

机器学习-11-基于多模态特征融合的图像文本检索

总结 本系列是机器学习课程的系列课程,主要介绍机器学习中图像文本检索技术。此技术把自然语言处理和图像处理进行了融合。 参考 2024年(第12届)“泰迪杯”数据挖掘挑战赛 图像特征提取(VGG和Resnet特征提取卷积过程详解&…

第十五届蓝桥杯c++b组赛后复盘和真题展示

题目变成八道了,分数一百分可能,感觉拿奖难度还是很高 第一题是一个简单的握手问题 答案算出来1204,纯手写 第二题是 物理题 纯蒙,随便猜了个轨迹,答案具体忘了,最后是 .45 第三题暴力 第四题 我是傻逼…

PCDN与边缘计算的集成解决方案

PCDN与边缘计算的集成解决方案 在数字化时代,内容的快速、安全地传递至用户变得至关重要。无论是媒体、教育还是其他领域,所有这些行业都需要强大的技术支持以保证信息的实时更新和安全传输。PCDN(Peer Content Delivery Network&#xff0c…