栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Azkaban概括

Azkaban概括

大数据业务处理场景中,经常有这样的分析场景:
A 任务:将收集的数据通过一系列的规则进行清洗,然后存入 Hive 表 a 中。
B 任务:将 Hive 中已存在的表 b 和表 c 进行关联得到表 d。
C 任务:将 A 任务中得到的表 a 与 B 任务中得到的表 d 进行关联得到分析的结果表 e。
D 任务:最后将 Hive 中得到的表 e 通过 sqoop 导入到关系型数据库 MySQL 中供 web 端查询使用。

显然,以上任务 C 依赖于任务 A 与任务 B 的结果,任务 D 依赖于任务 C 的结果。我 们一般的做法可以打开两个终端分别执行任务 A 与任务 B,当任务 A 与任务 B 执行完成之 后再执行任务 C,当任务 C 执行完成之后再执行任务 D。整个任务流程中必须保证任务 A、任务 B 执行完成之后执行任务 C,然后再执行任务 D。这样某一个环节都离不开人工的 参与,需要时刻盯着各任务的执行进度,非常费力。

以上业务场景就是一个大的任务,任务中分为四个子任务 A、B、C、D,如果能有一 个任务调度器给我们自动实现执行任务 A,执行任务 B,然后再执行任务 C,最后执行任务 D,那么就不需要人工时刻盯着任务是否执行完成,是否该开启下一个任务。Azkaban 就 是这样一个工作流的调度器,可以解决以上场景问题。

Azkaban 是一个批量工作流调度器,底层是使用 java 语言开发,用于在一个工作流 内以一定的顺序运行一组任务和流程,并且提供了非常方便的 webui 界面来监控任务调度 的情况,方便我们来管理流调度任务。

Azkaban 由三个关键组件组成:

  • AzkabanWebServer:
    主要负责项目管理、用户登录权限认证、定时执行工作任务、跟踪提交任务执行 的流程、访问历史执行任务、保存执行计划的状态。
  • AzkabanExecutorServer:
    主要负责工作流程的提交、执行、检索和更新当前正在执行计划的数据,处理执 行计划的日志。
  • 关系型数据库:
    主要是保存工作流中的原数据信息。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/671715.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号