此项目为美柚大数据研发的大数据任务调度平台,提供Spark、Flink等离线任务的调度以及实时任务的监控,并具有批次积压报警、任务异常重启、重复应用监测、大内存应用监测等功能。

Big Whale - 任务调度平台

Big Whale(巨鲸),为美柚大数据研发的大数据任务调度平台,提供Spark、Flink等离线任务的调度以及实时任务的监控,并具有批次积压报警、任务异常重启、重复应用监测、大内存应用监测等功能。 服务基于Spring Boot 2.0开发,部署方便,功能强大,打包后即可运行。

部署

1.准备

  • Java 1.8+
  • Mysql 5.1.0+
  • 下载项目或git clone项目
  • 为解决 github README.md 图片无法正常加载的问题,请在hosts文件中加入相关域名解析规则

2.安装

  • 创建数据库:big-whale
  • 运行数据库脚本:big_whale_tables_mysql.sql
  • 根据Spring Boot环境,配置相关数据库账号密码,以及SMTP信息
  • 配置:big-whale.properties配置项说明ssh.user: 拥有脚本执行权限的ssh用户(平台会使用该用户作为统一的脚本执行用户)ssh.password: 拥有脚本执行权限的ssh用户密码dingding.enabled: 是否开启钉钉告警dingding.watcher-token: 钉钉公共群机器人Tokenyarn.app-memory-threshold: Yarn应用内存上限,-1禁用监测yarn.app-white-list: 白名单列表(列表中的应用申请的内存超过上限,不会进行报警)
  • 修改:$FLINK_HOME/bin/flink(flink提交任务时,只能读取本地jar包,故需要在执行flink提交命令时从hdfs上下载jar包并替换脚本的jar包路径参数,参考:flink)
  • 服务打包:mvn clean package

3.启动

  • 检查端口17070是否被占用,被占用的话,关闭占用的进程或修改项目端口号配置重新打包
  • 拷贝target下的big-whale.jar,执行命令:java -jar big-whale.jar

4.初始配置

  • 输入账号admin,密码admin
  • 点击:权限管理->用户管理,修改当前账号的邮箱为合法且存在的邮箱地址,否则会导致邮件发送错误、执行状态更新失败等问题
  • 添加集群集群管理->集群管理->新增

  • “yarn管理地址”为ResourceManager的WEB UI地址需要为Spark或Flink任务设置“程序包存储目录”,如:/data/big-whale/storage“支持Flink任务代理用户”“流式任务黑名单”和“批处理任务黑名单”为内部定制的任务分配规则,可不填
  • 添加设备
  • 集群管理->设备管理->新增

  • 选择集群后,会作为该集群下提交Spark或Flink任务的客户机之一(注意!!!当有多台机器属于同个集群的时,会随机选择客户机提交任务)
  • 添加集群用户集群管理->集群用户->新增

  • “用户”为平台用户,“代理用户”为运行Spark的代理用户,该配置的语义为:平台用户在所选集群下可使用的Yarn资源队列和代理用户(proxyuser)
  • 添加计算框架版本集群管理->版本管理->新增

  • 同一集群下不同版本的Spark或Flink提交任务的命令可能有所不同,如Spark:1.6.0版本的提交命令为spark-submit,2.1.0版本的提交命令为spark2-submit

使用

1.新建脚本

  • 脚本管理->新增

  • “类型”有shell、spark实时、spark离线、flink实时、flink离线,示例为:spark实时
  • 因为当前用户为超级管理员,可为所有用户创建脚本,故需要选择“用户”
  • “程序包”应上传与脚本类型相应的Spark流式任务打成的jar包
  • “资源选项”可不填
  • 代码有两种编辑模式,“可视化视图”和“代码视图”,可互相切换

2.执行脚本

  • 脚本管理

点击执行上一步新建的脚本

执行成功后在详情中便可查看到Yarn应用详情的链接(提交Yarn任务的日志级别请设置为:INFO)

3.实时监控

  • 对于类型为“spark实时”和“flink实时”的脚本,可以通过添加此功能来实时监控任务的运行情况

4.离线调度

  • 对于类型为“shell”、“spark离线”和“flink离线”的脚本,可通过添加此功能实现定时执行,通过添加子脚本的形式可实现串行任务调度

  • 说明:平台提交saprk或flink任务的时候默认都会以“后台”的方式执行,对应spark配置:--conf spark.yarn.submit.waitAppCompletion=false,flink配置:-d,但是基于后台任务监测的实现,通过回调实现串行任务调度的时候会等待真正运行的任务完成后再执行下一脚本

源码获取方式:扫描下方二维码

源码分享-基于Spring Boot为美柚大数据研发的大数据任务调度平台相关推荐

  1. (附源码)基于Spring Boot的ERP仓储管理信息系统设计与实现 毕业设计150958

    基于Spring Boot的ERP仓储管理信息系统设计与实现 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用.信息时代的 ...

  2. (附源码)基于Spring Boot的宠物猫店管理系统的设计与实现 毕业设计140909

    springboot宠物猫店管理系统的设计与实现 摘 要 在信息飞速发展的今天,网络已成为人们重要的信息交流平台.宠物猫店管理系统公司每天都有大量的信息需要通过网络发布,为此,本人开发了一个基于B/S ...

  3. (附源码)基于Spring boot开发电子宿舍管理系统 毕业设计132056

    摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用.信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代. ...

  4. 招聘管理系统软件java源码_基于Spring Boot的java开源招聘源码-铭阳招聘管理系统...

    铭阳招聘管理系统 铭阳招聘管理系统,采用流行的框架Spring Boot+mybatis+ehcache开发,实现了权限管理,solr全文搜索引擎,系统具执行效率高.模板自由切换.后台管理功能灵活等诸 ...

  5. Tomcat8源码分析系列-spring boot集成tomcat

    前言 本文基于 spring boot 1.5.9 spring boot 支持目前主流的 servlet 容器,包括 tomcat.jetty.undertow,可以在我们的项目中方便地集成这些 s ...

  6. springboot 微信太阳码_WxJava基于Spring Boot开发微信公众号手机注册码

    WxJava基于Spring Boot开发微信公众号手机注册码 Szx • 2019 年 05 月 18 日 第一步先下载官方Demo https://github.com/binarywang/we ...

  7. (附源码)APP+spring boot基于Android智能手机的微课程学习系统设计与实现 毕业设计100909

    摘  要 随着现在网络的快速发展,网络的应用在各行各业当中它很快融入到了许多学校的眼球之中,他们利用网络来做这个微课程学习系统的网站,随之就产生了"智能手机的微课程学习系统 ",这 ...

  8. 文件管理系统源码_基于Spring Cloud微服务构建多平台功能完善小说弹幕网站源码分享...

    致力于打造一个完整的可商用.可学习的小说门户平台,重新进行了数据库设计.代码重构和功能增强,提升了程序整体的可读性和性能,增加了很多商用特性. 是一个多平台(web.安卓app.微信小程序).功能完善 ...

  9. RocketMQ 源码分析 —— 集成 Spring Boot

    点击上方"芋道源码",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2020 超神之路,很肝~ 中文详细注释的开源项目 RP ...

最新文章

  1. pandas画时间序列图
  2. python自学书籍推荐豆瓣-想学python,请问有没好的书籍推荐?
  3. 大厂没有方法论(上)
  4. 怎么解决表字段变化引起的MBG 文件变化的问题?
  5. 面象对象设计6大原则之一:单一职责原则
  6. LeetCode第14题:最长公共前缀
  7. 论文浅尝 | Multilingual LAMA: 探索多语言预训练语言模型中的知识
  8. opencv4快速入门pdf_云复工提升工作效率之九 福昕PDF阅读器
  9. 2021-2027全球与中国DJ设备市场现状及未来发展趋势
  10. 一个软件项目的成本构成及评估方法
  11. xdg在Linux中的用法,linux – 如何使用xdg-mime命令 - 程序园
  12. archivelog模式和flashback db以及guarantee restore point之间的相互制约关系!
  13. 【实用工具】Gephi下载与安装
  14. 0x00000005 3.数据结构和算法 基础数据结构 字符串(上)
  15. a++和++a的区别
  16. 苦过 痛过 一笑而过
  17. NC Portal单据增加自定义按钮
  18. 首届实时渲染3D动画创作大赛结果公布,看大奖英伟达A6000花落谁家
  19. 《放学后》-东野圭吾
  20. zynq IRQ_P2F ----ps中断pl

热门文章

  1. 签证更便捷 网络电话让出国旅行再降门槛
  2. 【Linux网络编程(七)】集线器、交换机、路由器
  3. 虽获滴滴投资,但我们依旧不看好ofo的未来
  4. 老当益壮?三星Galaxy Z Fold3或许依旧是业内最优秀的折叠屏旗舰
  5. 目标检测yolov3+文字识别CRNN 实现文本检测和识别
  6. linux不识别bl link无线网卡,解决TP-LINK无线网卡在debian上无法识别的问题
  7. STM32工程建立步骤
  8. java中dateFormat是什么_Java中的DateFormat用法举例
  9. 解决 “chrome 正受到自动测试软件的控制” 的提示
  10. 前端实现json数据格式化展示