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

devtools/2024/12/23 13:16:23/

📖 前言:在前面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/devtools/4141.html

相关文章

『FPGA通信接口』汇总目录

Welcome 大家好,欢迎来到瑾芳玉洁的博客! 😑励志开源分享诗和代码,三餐却无汤,顿顿都被噎。 😭有幸结识那个值得被认真、被珍惜、被捧在手掌心的女孩,不出意外被敷衍、被唾弃、被埋在了垃圾堆。…

IP地址怎么实现https

IP可以申请SSL证书。可以解决企业需要对IP实现https加密的需求,一张证书可以支持同时绑定多个IP。 IP证书有两种级别:基础级IP SSL证书和标准企业级IP SSL证书。 基础型SSL证书只需要10-30分钟即可颁发,企业型需要1-3个工作日即可颁发。 企…

【C++】List容器(1)-STL标准库-List举例说明-定义和初始化-成员函数的使用-运行效率对比-链接数据结构-和顺序表的对比

C学习:list容器详解(一) 1.STL标准库 C Standard Template Library(STL)是C编程语言的一个库,它提供了一系列模板化的数据结构(比如向量、列表、队列等)和算法(比如排序…

使用 大模型快速生成-jsToJava 的正则表达式离线版本的简单html页面

注意&#xff1a;需求要描述清楚-提高程序员的工作效率 代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0&quo…

Faiss原理和使用总结

Faiss是Facebook AI Research开发的一款高性能、可扩展、用于相似性搜索和聚类的特征向量索引库。它基于近似最近邻搜索&#xff08;Approximate Nearest Neighbor, ANN&#xff09;算法&#xff0c;能够在大规模数据集上进行快速的相似性搜索。 Faiss的设计目标是提供高效的相…

微软 SDL 安全研发生命周期详解

微软SDL&#xff08;Security Development Lifecycle&#xff09;是一种安全软件开发的方法论&#xff0c;它强调在整个产品开发过程中融入安全考虑因素。SDL 是一个动态的过程&#xff0c;包括多个阶段和活动&#xff0c;以确保产品的安全开发、测试、部署和运行。Microsoft 要…

十大排序——6.插入排序

这篇文章我们来介绍一下插入排序 目录 1.介绍 2.代码实现 3.总结与思考 1.介绍 插入排序的要点如下所示&#xff1a; 首先将数组分为两部分[ 0 ... low-1 ]&#xff0c;[ low ... arr.length-1 ]&#xff0c;然后&#xff0c;我们假设左边[ 0 ... low-1 ]是已排好序的部分…

2024深圳国际机器人展览会

时 间&#xff1a;2024年11月13-17日 地 点&#xff1a;深圳会展中心 ◆展会背景Exhibition background&#xff1a; 机器人被誉为“制造业皇冠顶端的明珠”&#xff0c;其研发、制造、应用…