有趣生活

当前位置:首页>科技>hadoop大数据架构图解大数据Hadoop之任务调度器Azkaban

hadoop大数据架构图解大数据Hadoop之任务调度器Azkaban

发布时间:2026-07-21阅读(0)

导读一、概述1)什么是任务调度?大数据平台技术框架支持的开发语言多种多样,开发人员的背景差异也很大,这就产生出很多不同类型的程序(任务)运行在大数据平台之上,如....一、概述1)什么是任务调度?

大数据平台技术框架支持的开发语言多种多样,开发人员的背景差异也很大,这就产生出很多不同类型的程序(任务)运行在大数据平台之上,如:MapReduce、Hive、pig、Spark、Java、Shell、Python 等。

这些任务需要不同的运行环境,并且除了定时运行,各种类型之间的任务存在依赖关系,一张简单的任务依赖图如下:

2)常见任务调度工具
  • Crontab (linux 自带命令,使用方式简单,适合不是非常复杂的场景,比如只按照时间来调度)
  • Oozie( hadoop 自带的开源调度系统,使用方式比较复杂,适合大型项目场景
  • Azkaban(一个开源调度系统,使用方式比较简单,适合中小型项目场景
  • 企业定制开发(企业自研的调度系统,不开源)
3)什么是Azkaban

Azkaban是由Linkedin开源的一个批量工作流任务调度器,Azkaban来自LinkedIn公司,用于管理他们的Hadoop批处理工作流。日常生产环境中,为了得到想要的数据,通常需要执行很多作业,一批作业执行完毕,再将中间结果进一步处理,最后得到有价值的数据,因此作业之间执行有先后顺序和依赖关系。这样的一组作业称为一个工作流,Azkaban就是用来构建、运行和管理工作流的工具,它提供友好的Web用户界面来维护和跟踪用户的工作流程。Azkaban已经在LinkedIn运行了好几年,管理着很多Hadoop和数据仓库作业流,具有很强的可用性。

官方文档:HTTPS://azkaban.readthedocs.io/en/latest/https://azkaban.github.io/azkaban/docs/latest/

简单来讲,它有几个特点:

  • 分布式多执行器
  • MySQL重试
  • 友好的用户界面
  • 有条件的工作流
  • 数据触发
  • 高安全
  • 支持插件扩展,从Web UI到作业执行
  • 全作者身份管理系统
二、Azkaban 与 Oozie 对比

Azkaban 和 Oozie 是市面上最流行的两种调度器。总体来说,Ooize 相比 Azkaban 是一个重量级的任务调度系统,功能全面,但部署和使用也更复杂,比较适合作为大型项目的任务调度系统。而 Azkaban 相对而言,配置和使用更为简单,能够满足常见的任务调度,比较适合作为中小型项目的任务调度系统。

对比如下:

Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图