大数据平台任务调度与监控系统架构分析

栏目: 后端 · 发布时间: 7年前

内容简介:大数据平台任务调度与监控系统架构分析

背景

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

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

大数据平台任务调度与监控系统架构分析

目前各业务的数据任务基本都是靠Crontab定时调度,各个任务之间的依赖仅靠简单的串行来实现。

这样做的问题:

  • 很容易造成前面的任务未结束或者失败,后面的任务也运行起来,最终跑出错误的分析结果;

  • 任务不能并发执行,增加任务执行的整体时间窗口;

  • 任务管理和维护很不方便,不好统计任务的执行时间及运行日志;

  • 缺乏及时有效的告警;

SkyNet调度监控系统,正是为了解决以上问题。

系统架构

大数据平台任务调度与监控系统架构分析

名词解释

SkyNet 任务调度监控系统的名称。
Job/ 任务 一个程序运行单元,比如,一个MapReduce程序、一个Shell脚本等。
业务日期 每个程序运行所处理的数据日期。
JobInstance/ 任务实例 一次任务运行实例,因为一个任务在同一业务日期可能会运行多次。
资源 任务运行的节点(主机)
DataHub 数据交换机,用于异构数据源时间的数据交换。

系统模块

  • JobManager:SkyNet的Master,提供RPC服务,接收并处理JobClient/Web提交的所有操作;与元数据通讯,维护Job元数据;负责任务的统一配置维护、触发、调度、监控

  • JobMonitor: 监控正在运行的Job状态、监控任务池、监控等待运行的Job;

  • JobWorker:SkyNet的Slave,从任务池中获取Job、负责启动并收集Job的执行状态,维护至元数据库;

  • JobClient/Web:SkyNet客户端类,前端界面提供给用户,用作任务的配置、管理、监控等;

  • 任务元数据:目前使用Mysql,保存Job的配置、依赖关系、运行历史、资源配置、告警配置等;

系统特性

  • 分布式架构:容量和负载能力(JobWorker)可线性扩充,并可以跨外网部署(只需能访问元数据库即可);

  • 高可用性:拥有主备Master,一旦主Master异常,备Master会接替主Master提供服务(后期实现);

  • 高容错性:Master重新启动后,会将之前未完成的任务重新调度运行;

  • 完善易用的Web用户界面:用于用户配置、提交、查询、监控任务及任务的依赖关系;

  • 支持任意类型的任务:除了Hadoop生态圈的MapReduce、Hive、Pig等,还支持其他任何语言开发的任务,如Java、Shell、Python、 Perl 、Spark等;

  • 完整的日志记录:收集并记录任务运行过程中产生的标准输出和标准错误,提供Http访问,用户可通过访问任务对应的日志Url来方便的访问任务运行日志;

  • 任务之间的灵活依赖:可将任意一个任务作为自己的父任务进行依赖触发;

  • 灵活多样的告警规则:除了失败告警,也支持任务超时未完成、任务超时未开始等告警规则;

页面展示

DashBoard:显示平台任务总体概况,资源总体概况

大数据平台任务调度与监控系统架构分析

任务查询和维护:

大数据平台任务调度与监控系统架构分析

添加任务:

大数据平台任务调度与监控系统架构分析

查看任务依赖关系及运行状态:

大数据平台任务调度与监控系统架构分析

查看任务运行状态及运行日志:

大数据平台任务调度与监控系统架构分析

如果觉得本博客对您有帮助,请 赞助作者 。

(责任编辑:小恩)


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Struts 2 in Action

Struts 2 in Action

Don Brown、Chad Davis、Scott Stanlick / Manning Publications / 2008.3 / $44.99

The original Struts project revolutionized Java web development and its rapid adoption resulted in the thousands of Struts-based applications deployed worldwide. Keeping pace with new ideas and trends......一起来看看 《Struts 2 in Action》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具