微信搜索lxw1234bigdata | 邀请体验:数阅–数据管理、OLAP分析与可视化平台 | 赞助作者:赞助作者

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

大数据平台 lxw1234@qq.com 327061℃ 308评论

背景

大数据平台技术框架支持的开发语言多种多样,开发人员的背景差异也很大,这就产生出很多不同类型的程序(任务)运行在大数据平台之上,如: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:显示平台任务总体概况,资源总体概况

任务调度

 

任务查询和维护:

任务调度

 

添加任务:

任务调度

 

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

任务调度

 

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

任务调度

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

转载请注明:lxw的大数据田地 » 大数据平台任务调度与监控系统

喜欢 (397)
分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(308)个小伙伴在吐槽
  1. 这个系统开源吗
    mircle2015-05-28 10:08 回复
    • 您好,能发一份到goodbread@126.com吗,非常感谢
      bread2015-07-14 22:57 回复
    • 也能发给我一份吗?
      老四2015-08-31 10:23 回复
    • 你好 也能发一份到421798595@qq.com吗?多谢!
      dtm2015-10-10 17:57 回复
    • 你好可以麻烦发一份到635627873@qq.com吗,非常感谢!
      hongqiutiandi2015-10-20 12:52 回复
    • 博主,现在这个调度框架开源了没,我也想自己做个调度框架,能不能把设计文档发来参考下,你的很多篇博客都写得很棒哒!下面是我的邮箱 -------------------------- 492005267@qq.com
      kent2016-01-05 19:27 回复
    • 你好,,给我也发送一份吧,771645231@qq.com,在这里先感谢了
      Fly3652016-01-25 09:42 回复
    • 你好,,给我也发送一份吧,771645231@qq.com,在这里先感谢了
      Fly3652016-01-25 09:43 回复
    • 你好我想学习一下,可以给我也发一份吗。80507309@qq.com 非常感谢!
      阿我额2016-02-24 16:15 回复
    • 能发我一份吗,最近真正做大数据调度平台,谢谢了
      Jacky792016-03-09 16:19 回复
    • 你好,也能发一份到inchxword@163.com吗?多谢
      nostop2016-03-27 23:08 回复
    • 您好,最近在看分布式调度,能发一份到195573354@qq.com吗,非常感谢
      ksh2016-04-18 23:07 回复
    • 文档 感激
      c92016-04-22 18:08 回复
    • 给我发一份,求开源,求文档jiajf999@qq.com
      jiajf9992016-05-05 18:36 回复
    • 大神,可以麻烦给我一份设计文档参考吗?万分感谢大神帮助 :razz: ,我的邮箱1992678393@qq.com
      guo2016-05-08 14:40 回复
    • 你好,能否发一份到monkey.611@163.com,学习交流下,谢谢。
      Dylan2016-05-11 17:10 回复
    • 你好,设计文档能发我一份吗?jackie_vip@126.com
      木亦汐丫、2016-05-14 23:43 回复
    • 你好,设计文档能发下我的邮箱吗?yang1721@126.com
      娃娃鱼2016-05-15 00:10 回复
    • 您好,相关设计文档能发我一份吗?万分感谢! 1025195880@qq.com
      耗子2016-06-13 16:41 回复
    • 您好,最近在做大数据的作业调度系统,能发一份设计文档吗,谢谢,806992660@qq.com
      zjames2016-07-29 10:53 回复
    • 能发我一份文档吗?33498045@qq.com
      infornet2016-07-29 11:41 回复
    • 你好 请发送一份
      luyulonglujie@126.com2016-07-30 18:15 回复
    • 也能发给我一份吗?vanuan@sina.cn
      vanuan2016-08-16 15:32 回复
    • 您好,能发一份文档到277348778@qq.com么,非常感谢
      UncleMelon2016-09-29 21:01 回复
    • 您好,能发一份到16188037@qq.com吗,非常感谢
      Ken2016-10-22 12:18 回复
    • 您好,能发一份到1289010122@qq.com吗,非常感谢
      云中鸽2016-10-26 16:03 回复
    • 求一份设计文档!353484740@qq.com 谢谢楼主的劳动成果!
      jz8888882016-11-02 11:53 回复
    • 你好,我们现在正需要自己构建一个调度平台,请问能把相关设计文档发至106371931@qq.com吗,非常感谢。
      小七2016-11-26 09:25 回复
    • 能否也发一份给我,谢谢,cheneystar@163.com
      cheney2016-12-06 18:26 回复
    • 求文档一份,553209611@qq.com 多谢多谢!
      gang2016-12-20 13:34 回复
    • 您好,麻烦能发一份设计文档参考学习,邮箱407092863@qq.com,十分感谢。
      raza2016-12-30 10:53 回复
    • 您好,能发一份到3094785468@qq.com吗,非常感谢
      wushuang37232017-01-05 15:36 回复
    • oozie支持配置各种类型的作业如pig mr shell spark sqoop hive sql脚本,结合hue可以很方便的管理配置工作流,尤其是顺序性工作流,当然也可以配置有分支的工作流,但是对于多重依赖的工作流,如上面文章中截图的工作流 配置会很复杂,但对于airflow开源任务调度系统配置多重依赖的任务很容易,请教博主一个问题:sky net是你们公司自主开发的吧?为什么不用开源的?这是我的邮箱834268120@qq.com 设计文档能发我一份吗?谢谢
      虾米2017-01-15 19:07 回复
    • 你好,请把设计文档给我也发一份
      小王子2017-02-28 15:27 回复
    • 你好,能发一份设计文档给我吗。邮箱:brandom-iava@139.com
      木风2017-03-01 15:07 回复
    • 你好 可以发我一份吗 lorain0514@vip.qq.com
      Lorain2017-03-29 10:11 回复
    • 也发给我一份吧,邮箱是1548520841@qq.com
      hffzkl2017-04-06 11:07 回复
    • 博主,求一份设计文档,zgjdzwhy@qq.com,谢谢!
      evan2017-04-19 13:18 回复
      • 你好,,给我也发送一份吧,zhuren511@126.com,在这里先感谢了
        zhuren2017-04-22 16:20 回复
        • 你好 设计文档能发我一份学习下吗lzd922@163.com
          kevinlu2018-09-12 13:49 回复
    • 您好,能发一份到zhuren511@126.com吗,非常感谢!!
      zhuren2017-04-22 16:42 回复
    • 你好,这个相关设计文档能发我一份吗,我最近也要搞一个类似但项目。我邮箱329839770@qq.com 非常感谢
      玄浩2017-04-28 10:25 回复
    • xiaoweimy804@163.com ,谢谢
      xiaoweimy2017-05-08 11:05 回复
    • 你能能发一份到1442927837@qq.com嘛,非常感谢
      张烜2017-06-15 14:16 回复
    • 您好,最近在学习任务调度, 能给我发送一份文挡参考嗎,2324521227@qq.com,这里先感谢了
      Jerry2017-06-21 10:34 回复
    • 博主经常看你发的文章,这个调度的相关文档能发一份吗?谢谢,邮箱15764241350@163.com
      impala2017-07-04 17:25 回复
    • 求一份 :razz:
      深寒2017-09-05 16:05 回复
    • 求一份 :razz: 397967552@qq.com
      深寒2017-09-05 16:07 回复
    • 求一份 zgjdzwhy@163.com
      jdz2017-09-08 12:13 回复
    • 求相关文档,谢谢大神,pengpuxin1@163.com
      xin2017-10-11 07:28 回复
    • 您好,能发一份到823357930@qq.com吗,非常感谢
      liyi2017-10-24 14:01 回复
    • 你好,可以发一份到邮箱601991417@qq.com,谢了
      liuli2017-10-26 17:19 回复
    • 你好 设计文档能发我一份学习下吗 rzl1990@126.com
      rzz2017-12-14 17:01 回复
    • 你好 设计文档能发我一份学习下吗 jun-life@163.com
      lyes2017-12-22 10:56 回复
    • 你好 也能发一份到42254063@qq.com吗?多谢!
      瓜牛2017-12-26 15:10 回复
    • 能发我一份吗?非常感谢
      12342020-02-23 15:29 回复
  2. 挺不错的,最好能开源做大做强
    笑熬浆糊2015-06-02 23:09 回复
  3. 请问你们的系统如果对JobWorker的负载进行评估的。每台机器同时 可以执行的 不同任务类型的任务数是如何计算的 :oops:
    王欢_阿布2015-06-03 14:09 回复
    • 每天机器上,每种任务类型的任务最大可以运行多少个? 目前是随便拍的。。 这个还没做到细到CPU和内存粒度的资源控制与分配。
      lxw1234@qq.com2015-06-03 14:13 回复
      • 你好,能发份你们的设计文档给我学习下么
        long2015-06-05 10:34 回复
  4. 你好,能发份你们的设计文档给我学习下么
    long2015-06-05 10:34 回复
    • 你好,可以发文档到podlzh@gmail.com吗?
      podlzh2015-06-09 11:54 回复
      • 你好,可以发文档到iamleejm@163.com吗?
        fzljm2015-06-15 08:36 回复
      • 你好,可以发送一份设计文档到jlbhdfsl@126.com吗,想参考一下,谢谢
        fsl2015-06-23 11:18 回复
    • 您好,能发一份到crasshopper@163.com 吗,非常感谢
      小雨2015-07-14 14:51 回复
    • 大数据平台任务调度与监控系统 的文档能否发一份参考
      疯雪2016-07-18 10:11 回复
    • 可以发我一份吗,谢谢 330451615@qq.com
      dddddddddd2017-02-04 16:53 回复
  5. 我也有个类似到系统,工作流分布式调度服务器作业。 一起交流下。我的项目已经开源了。
    liangqilang2015-06-16 19:21 回复
    • Hi,你可以通过右上角"联系QQ"找到我。
      lxw1234@qq.com2015-06-17 09:26 回复
    • 543459837@qq.com 开源的网址有么 可以看下么
      王欢_阿布2015-06-23 17:41 回复
    • 开源地址是?
      ynlxc2015-06-29 16:42 回复
    • 开源地址是多少
      long2015-06-29 17:14 回复
    • 请问开源网址是多少啊!
      风花雪月2015-07-31 10:28 回复
      • https://github.com/ltsopensource/light-task-scheduler 看看这个吧,或许有帮助
        随机变量2016-06-01 10:31 回复
        • 这个目前缺少了一个很重要的任务依赖触发的调度方式,看他的开发计划中已经有了。关注中。。。
          lxw1234@qq.com2016-06-01 11:41 回复
          • 有的同学能转发一份吗 112405999@qq.com 万分感谢
            ray2016-08-16 14:05
    • 开源的地址是多少
      郭锐2018-08-29 12:50 回复
  6. 能否把设计文档发一份给我分析下。谢谢yangyao86@126.com
    风花雪月2015-07-30 17:08 回复
  7. 您好,可以发一份设计文档给我吗,zxd.8812@gmail.com
    Ario2015-08-22 14:39 回复
  8. 您好,能发一份设计文档到faychu@qq.com吗
    faychu2015-08-25 16:06 回复
  9. 你好,我刚好现在也做类似这方面的工作,能把设计文档给我参考一下吗?谢谢!我的邮箱:wyz480@126.com
    流沙2015-08-26 14:54 回复
  10. 求一份设计文档, 万分感谢! henry_zhou007@163.com
    hz2015-08-28 11:34 回复
  11. 能发一份文档给我学习学习吗,谢谢!volkwit@gmail.com
    随机变量2015-09-09 17:11 回复
  12. 请发一份文档学习,十分谢谢!ddsw0411@sina.com
    ddsw04112015-09-10 12:43 回复
  13. 设计请发我邮箱一份,谢谢! 地址:qiucheng@jinchongzi.com
    markqiu2015-09-11 09:00 回复
  14. 你好,可以发文档到xiangel1@126.com吗?
    xiangel2015-09-22 18:14 回复
  15. 您好,可以发一份设计文档给我吗,191432544@qq.com
    duanxx2015-10-12 16:28 回复
    • 你好,烦请发送一份详细的设计文档,1017220573@qq.com
      logant2015-10-14 10:09 回复
  16. 您好,看了您的文章启发很大,我有个疑问:当作业到达系统时,是由SkyNet按照某种调度策略直接提交给计算平台(Hadoop MR/ Spark)吗?这个与Apache Oozie 的最大区别是什么?能把设计文档发我一份(hapjin@qq.com)参考一下吗?打扰了,谢谢。
    john2015-10-14 15:09 回复
  17. 你好!看了文章后,觉得很好,请问能发一份设计文档供我详细学习下吗?谢谢!邮箱:pannpei@gmail.com
    crAzyli0n2015-10-17 14:54 回复
  18. 很赞,坐等开源,求文档 smarthub@126.com
    smarthub2015-10-18 10:02 回复
  19. 谢谢分享,真心希望开源,一个人的力量有限。麻烦把设计文档发一份给我,xts911950393