Azkaban官网文档1-概述-Overvie

Azkaban是LinkedIn为解决Hadoop作业依赖问题而开发的工具,包括MySQL数据库、AzkabanWebServer和AzkabanExecutorServer三部分。AzkabanWebServer负责项目管理、调度和监控,AzkabanExecutorServer执行工作流和作业。文章介绍了不同部署模式,包括适合初学者的Solo Server,以及适用于生产环境的双服务器和多执行器模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Azkaban是在LinkedIn上实现的,用来解决Hadoop作业依赖的问题。我们的工作需要按顺序运行,从ETL工作到数据分析产品。

Azkaban最初是一个单一的服务器解决方案,随着多年来Hadoop用户数量的增加,它已经发展成为一个更健壮的解决方案。

Azkaban由三个关键部分组成:

  1. 关系型数据库(MySQL)
  2. AzkabanWebServer
  3. AzkabanExecutorServer

Relational Database (MySQL)

Azkaban使用MySQL来存储它的大部分状态。AzkabanWebServer和AzkabanExecutorServer都访问数据库。

AzkabanWebServer 是如何访问数据库的?

web服务器使用数据库的原因如下:

  1. 项目管理——项目、项目权限、上传文件。
  2. 执行工作流状态——跟踪执行工作流以及哪个执行器正在运行它们。
  3. 以前的工作流/作业——搜索以前执行的作业和工作流,并访问它们的日志文件。
  4. 调度程序——保持调度作业的状态。
  5. SLA——保持所有SLA规则

AzkabanExecutorServer 用数据库来干啥?

  1. 访问项目——从数据库中检索项目文件。
  2. 执行工作流/作业——检索和更新正在执行的工作流的数据
  3. 日志——将作业和工作流的输出日志存储到数据库中。
  4. 互流依赖——如果一个工作流在不同的执行程序上运行,它将从数据库获取状态。

选择MySQL的原因是它是一个广泛使用的数据库。我们希望实现与其他数据库的兼容性,尽管在历史上运行作业的搜索需求受益于关系数据存储。

 

AzkabanWebServer

AzkabanWebServer是阿兹卡班的主要管理器。它处理项目管理、身份验证、调度器和执行监视。它还充当web用户界面。

使用Azkaban很容易,Azkaban使用*.job键值属性文件定义工作流中的各个任务,_dependencies_属性定义作业的依赖链。这些作业文件和相关代码可以归档到一个*.zip文件中,并通过Azkaban UI或curl通过web服务器上传。

AzkabanExec

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值