背景

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

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

目前各业务的数据任务基本都是靠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:显示平台任务总体概况,资源总体概况

任务查询和维护:

添加任务:

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

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

大数据平台任务调度与监控系统相关推荐

  1. 大数据平台网站日志分析系统

    1:大数据平台网站日志分析系统,项目技术架构图: 2:大数据平台网站日志分析系统,流程图解析,整体流程如下: ETL即hive查询的sql; 但是,由于本案例的前提是处理海量数据,因而,流程中各环节所 ...

  2. 大数据平台日志存储分析系统解决方案

    大数据平台日志存储分析系统是在大数据平台下,针对业务系统产生的日志记录进行存储和分析.日志数据来自ElasticSearch存储的日志历史数据,并将需要存储和分析的日志数据从ElasticSearch ...

  3. 从0到1搭建大数据平台之监控

    大家好,我是脚丫先生 (o^^o) 大数据平台设计中,监控系统尤为重要. 它时刻关乎大数据开发人员的幸福感. 试想如果半夜三更,被电话吵醒解决集群故障问题,那是多么的痛苦!!! 但是不加班是不可能的, ...

  4. 一篇运维老司机的大数据平台监控宝典(1)-联通大数据集群平台监控体系进程详解

    一篇运维老司机的大数据平台监控宝典(1)-联通大数据集群平台监控体系进程详解 "如果你是一个经验丰富的运维开发人员,那么你一定知道ganglia.nagios.zabbix.elastics ...

  5. 大数据平台监控指南(附技术选型、监控指标)

    " 如果你是一个经验丰富的运维开发人员,那么你一定知道ganglia.nagios.zabbix.elasticsearch.grafana等组件.这些开源组件都有着深厚的发展背景及功能价值 ...

  6. 内蒙农信携手星环科技建设农信大数据平台,激活金融业务创新

    背景 内蒙古自治区农村信用社联合社(简称"内蒙农信")经过多年的信息化建设,目前投产使用的信息化系统近100套,产生了大量的数据.该社于2019年采用MPP架构的分布式数据库,实现 ...

  7. (附源码)计算机毕业设计SSM基于大数据的汽车流量监控

    (附源码)计算机毕业设计SSM基于大数据的汽车流量监控 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(I ...

  8. 多中心临床大数据平台建设及深度应用

    多中心临床大数据平台建设及深度应用 朱立峰1,刘淑君1,陈德华1,乐嘉锦2 1. 上海交通大学医学院附属瑞金医院,上海 200025 2. 东华大学计算机科学与技术学院,上海 201620 摘要:多中 ...

  9. 大数据可视化之医疗大数据平台

    一 项目背景 随着信立泰企业的不断发展,公司管理的需求倒逼业务系统不断引入.经营数据的不断积累使得企业的信息化成为企业进行技术改造及提高企业管理水平的重要手段.信立泰因之而制定了对应的信息化战略,主要 ...

  10. 灾害预警实时监控中心(大数据平台系列)

    灾害预警实时监控中心(大数据平台系列) 大数据对雷暴雨.洪水.地震.海啸等天灾的救援发挥了重要的作用,为科学救灾提供智能化决策.大数据平台抓取气象局.地震局的海量气象数据.卫星云图变化数据,构建气象运 ...

最新文章

  1. (C++)寻找1-100以内所有素数,复杂度为O(nsqrt(n))与O(nloglogn)的两种方法
  2. 用dblink能修改_【学习笔记】通过修改基表(link$)让非public dblink变为public
  3. 记录vmware的bug failed to install hcmon deriver
  4. 弥勒市召开智慧城市建设规划设计征求意见会
  5. APP技巧:微信中这6个设置建议关闭,可以防止个人信息或将全暴露,赶快看一看吧!...
  6. 将Maven与Ivy集成
  7. 简易计算器 java_终于写出一个简单的计算器了
  8. Java调用百度OCR文字识别的接口
  9. php 顺丰接口实例,顺丰BSP接口PHP开发注意事项
  10. PowerShell挂起功能--Confirm参数
  11. openglpython3d重构_python+opengl显示三维模型小程序
  12. 大数据支撑健康医疗服务落地
  13. Wireshark实战分析之ARP协议(二)
  14. 测试声音延迟的软件,“Latency Test”详细操作流程,一款测试TWS耳机延迟的软件...
  15. 手机如何连接远程桌面?
  16. react + hooks 中使用aliplayer
  17. 毕业生Markdown简历模板
  18. Linux虚拟机下载和安装简单流程
  19. 微软总裁:杀手机器人的崛起「势不可挡」【智能快讯】
  20. Peewee 使用手册

热门文章

  1. GLASS数据的批量下载(以植被覆盖度FVC为例)
  2. 科三——细则以及扣分点
  3. 基于Scrapy的IP代理池搭建
  4. 发布海外媒体稿件更好帮助企业海外营销推广
  5. 计算机键盘英语,电脑键盘打字时中英文如何切换?
  6. 机器学习技法-01-5-Reasons behind Large-Margin Hyperplane
  7. EPIC/Steam 手柄没反应问题解决办法
  8. 字节跳动“车轮”收割
  9. 微信公众号 返回40163
  10. 分享WPS office 2019 卸载方法: