热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

大数据平台任务调度与监控系统

目前各业务的数据任务基本都是靠Crontab定时调度,各个任务之间的依赖仅靠简单的串行来实现。这样做的问题:很容易造成前面的任务未结束或者失败,后面的任务也运行起来,最终跑出错误的

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

大数据平台任务调度与监控系统

任务查询和维护:

大数据平台任务调度与监控系统

添加任务:

大数据平台任务调度与监控系统

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

大数据平台任务调度与监控系统

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

大数据平台任务调度与监控系统








推荐阅读
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  • Hadoop源码解析1Hadoop工程包架构解析
    1 Hadoop中各工程包依赖简述   Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。   GoogleCluster:ht ... [详细]
  • Azkaban(三)Azkaban的使用
    界面介绍首页有四个菜单projects:最重要的部分,创建一个工程,所有flows将在工程中运行。scheduling:显示定时任务executing:显示当前运行的任务histo ... [详细]
  • 【转】腾讯分析系统架构解析
    TA(TencentAnalytics,腾讯分析)是一款面向第三方站长的免费网站分析系统,在数据稳定性、及时性方面广受站长好评,其秒级的实时数据更新频率也获得业界的认可。本文将从实 ... [详细]
  • 《Spark核心技术与高级应用》——1.2节Spark的重要扩展
    本节书摘来自华章社区《Spark核心技术与高级应用》一书中的第1章,第1.2节Spark的重要扩展,作者于俊向海代其锋马海平,更多章节内容可以访问云栖社区“华章社区”公众号查看1. ... [详细]
  • Java开发实战讲解!字节跳动三场技术面+HR面
    二、回顾整理阿里面试题基本就这样了,还有一些零星的问题想不起来了,答案也整理出来了。自我介绍JVM如何加载一个类的过程,双亲委派模型中有 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • crontab 自动执行定时任务时,命令无法执行的解决方案
    为什么80%的码农都做不了架构师?最近在工作中需要使用crontab执行定时任务,处理memcacheq消息队列里的数据,但是发现在 ... [详细]
  • mapreduce源码分析总结
    这篇文章总结的非常到位,故而转之一MapReduce概述MapReduce是一个用于大规模数据处理的分布式计算模型,它最初是由Google工程师设计并实现的ÿ ... [详细]
  • Kylin 单节点安装
    软件环境Hadoop:2.7,3.1(sincev2.5)Hive:0.13-1.2.1HBase:1.1,2.0(sincev2.5)Spark(optional)2.3.0K ... [详细]
  • 前言折腾了一段时间hadoop的部署管理,写下此系列博客记录一下。为了避免各位做部署这种重复性的劳动,我已经把部署的步骤写成脚本,各位只需要按着本文把脚本执行完,整个环境基本就部署 ... [详细]
  • 我们在之前的文章中已经初步介绍了Cloudera。hadoop基础----hadoop实战(零)-----hadoop的平台版本选择从版本选择这篇文章中我们了解到除了hadoop官方版本外很多 ... [详细]
  • Zookeeper为分布式环境提供灵活的协调基础架构。ZooKeeper框架支持许多当今最好的工业应用程序。我们将在本章中讨论ZooKeeper的一些最显着的应用。雅虎ZooKee ... [详细]
author-avatar
手机用户2502875023
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有