阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Hadoop – 任务调度系统比较

112次阅读
没有评论

共计 2298 个字符,预计需要花费 6 分钟才能阅读完成。

1. 概述

在 Hadoop 应用,随着业务指标的迭代,而使其日趋复杂化的时候,管理 Hadoop 的相关应用会变成一件头疼的事情,如:作业的依赖调度,任务的运行情况的监控,异常问题的排查等,这些问题会是的我们日常的工作变得复杂。那么,在没有条件和精力去开发一套调度系统的情况下,我们去选择一款第三方开源的调度系统,来尽量减轻和降低我们日常工作的复杂度,也是极好的。今天,笔者给大家比较几种常见的调度系统,供大家去选择。

2. 内容

2.1 Oozie

Oozie 目前是托管在 Apache 基金会的,开源。在之前的博客《Oozie 调度》一文当中,介绍相关 Oozie 的调度,如何去调度 Hadoop 的相关,大家可以从博客的文中所描述的内容看出,配置的过程略显繁琐和复杂,配置相关的调度任务比较麻烦,然其可视化界面也不是那么的直观,另外,对 UI 界面要求较高的同学,此调度系统估计会让你失望。若是对改调度系统感兴趣的同学可以到《Oozie 调度》一文中做相关细节的了解。这里就不多做赘述了。

2.2 Zeus

它是一个 Hadoop 的作业平台,从 Hadoop 任务的调试运行到生产任务的周期调度,它支持任务的整个生命周期。从其功能来看,它支持以下任务:

  • Hadoop 的 MapReduce 任务调度运行
  • Hive 任务的调度运行
  • Shell 任务的运行
  • Hive 元数据的可视化展示查询及数据预览
  • Hadoop 任务的自动调度

其开源地址在 Github 上面,可在 Github 搜索 Zeus,即可找到相关工程。Zeus 是由阿里巴巴开源出来的,文档在 Github 上描述的也比较详细,其相关安装步骤及使用方法可参考 Github 上的官方文档,这里就不多做赘述了。

2.3 Azkaban

这是由 LinkedIn 创建的一个批处理工作流,用于跑 Hadoop 的 Jobs。Azkaban 提供了一个易于使用的用户界面来维护和跟踪你的工作流程。其可视化界面如下所示:

Hadoop - 任务调度系统比较

另外,Github 上贡献的 Azkaban 调度系统的源码量不大,做二次开发难度不大。其功能点涉及以下内容:

  • 兼容 Hadoop 版本
  • 易用的 Web UI
  • 简单的 Web 和 Http 工作流的上传
  • 项目工作区
  • 工作流调度
  • 模块化和插件化
  • 认证和授权
  • 用户行为跟踪
  • 邮件告警失败和成功
  • SLA 告警
  • 重启失败的 Jobs

Azkaban 的设计之初主要是基于可用性的考虑。在 LinkedIn 运行的有些年头了,一直驱动着它们的 Hadoop 和数据仓库。

它由 3 个关键部分组成,分别是:

  • 关系行数据库(MySQL):Azkaban 使用 MySQL 去做一些状态的存储。AzkabanWebServer 和 AzkabanExecutorServer 这两个服务都需要接入到 DB 库当中。
  • AzkabanWebServer:WebServer 使用 DB 的原因如下:
    • 项目管理:对项目权限和上传文件的管理。
    • 执行流程状态:对正在执行的程序进行跟踪。
    • 之前的流程或 Jobs:通过搜索先前的工作和流程,去访问它们的日志文件。
    • 调度程序:保持预定的工作状态。
    • SLA:保持所有的 SLA 规则。
  • AzkabanExecutorServer:另外,ExecutorServer 使用 DB 的原因如下所示:
    • 获取项目:从数据库中检索项目文件。
    • 执行工作流或 Jobs:检索和更新流的数据,并执行。
    • Logs:存储作业的输出日志,并将其流入数据库。
    • 不同的依赖进行交流:如果一个流在不同的执行器上运行,它将从数据库中取取状态。

三者的关系图,如下所示:

Hadoop - 任务调度系统比较

关于其相关配置和使用,官方给出的文档比较详细,这里就不多赘述了。大家可以到 Github 去阅读官方给出的文档。

3. 总结

关于调度系统的选择,这里就比较了这 3 种,大家可以适情况而定,另外,若是条件允许或是有精力也可以参考这些调度系统的原理,开发一套满足自己当前业务的调度系统,也不失为一种选择。

4. 结束语

这篇博客就和大家分享到这里,如果大家在研究学习的过程当中有什么问题,可以加群进行讨论或发送邮件给我,我会尽我所能为您解答,与君共勉!

下面关于 Hadoop 的文章您也可能喜欢,不妨看看:

Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程  http://www.linuxidc.com/Linux/2015-02/113487.htm

CentOS 安装和配置 Hadoop2.2.0  http://www.linuxidc.com/Linux/2014-01/94685.htm

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-11/125193.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2298字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中