hera 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
hera 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: 未知
开发语言: Java 查看源码 »
操作系统: 跨平台
收录时间: 2019-01-03
提 交 者: scx_white

hera 分布式任务调度系统是根据前阿里开源调度系统(zeus)进行的二次开发。

架构

hera系统只是负责调度以及辅助的系统,具体的计算还是要落在hadoop、hive、yarn、spark等集群中去。所以此时又一个硬性要求,如果要执行hadoop,hive,spark等任务,我们的hera系统的worker一定要部署在这些集群某些机器之上。如果仅仅是shell,那么也至少需要linux系统。对于windows系统,可以把自己作为master进行调试。

在这里插入图片描述

hera系统本身严格的遵从主从架构模式,由主节点充当着任务调度触发与任务分发器,从节点作为具体的任务执行器.架构图如下:

在这里插入图片描述

设计目标

hera分布式任务调度系统的设计目标首先是要完成zeus大部分核心功能,并能够根据自己公司的需求进行扩展。大致目标有以下几点

  • 支持任务的定时调度、依赖调度、手动调度、手动恢复

  • 支持丰富的任务类型:shell,hive,python,spark-sql,java

  • 可视化的任务DAG图展示,任务的执行严格按照任务的依赖关系执行

  • 某个任务的上、下游执行状况查看,通过任务依赖图可以清楚的判断当前任务为何还未执行,删除该任务会影响那些任务。

  • 支持上传文件到hdfs,支持使用hdfs文件资源

  • 支持日志的实时滚动

  • 支持任务失败自动恢复

  • 实现集群HA,机器宕机环境实现机器断线重连与心跳恢复与hera集群HA,节点单点故障环境下任务自动恢复,master断开,worker抢占master

  • 支持对master/work 负载,内存,进程,cpu信息的可视化查看

  • 支持正在等待执行的任务,每个worker上正在执行的任务信息的可视化查看

  • 支持实时运行的任务,失败任务,成功任务,任务耗时top10的可视化查看

  • 支持历史执行任务信息的折线图查看 具体到某天的总运行次数,总失败次数,总成功次数,总任务数,总失败任务数,总成功任务数

  • 支持关注自己的任务,自动调度执行失败时会向负责人发送邮件

  • 对外提供API,开放系统任务调度触发接口,便于对接其它需要使用hera的系统

  • 组下任务总览、组下任务失败、组下任务正在运行

  • 支持map-reduce任务和yarn任务的实时取消。

  • (还有更多,等待大家探索)

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

hera 的相关资讯

还没有任何资讯

hera 的相关博客

Task Execution and Scheduling

Spring Task Execution and Scheduling 参考官方手册

Distributed Task Processing in Go

I started playing with Go almost a year ago but never really managed to dive deeper or do anything serious with it. R...

Storm: Distributed realtime computation system

http://storm.apache.org/ 基本介绍:Storm是一个分布式实时计算系统。可以实现类似hadoop的批量处理任务。对待处理的异构数据...

VLDB 2016 and distributed system stuff

http://vldb2016.persistent.com/VLDB2016-FullProgram.html bellow is the blog of Amazon CTO http://www.allthingsdistrib...

How to lay out the project structure in a distributed system,part I

Controller   Controller层属于业务后台对前端的api入口。 主要职责: 数据校验。 数据转换。 根据实际业务需要,合理调度系...

Spring(5.1.6)官方文档之Task Execution and Scheduling

7.任务执行和调度 Spring框架分别使用TaskExecutor和TaskScheduler这两个接口来为异步执行和任务调度提供抽象。Spring还具有支...

How to lay out the project structure in a distributed system,part II

1 Access Layer 1.1 Overview Layout Description Base Package Base url User background 用户后台接入层 com.xtwj.dragon....

RustCon Asia 实录 | Distributed Actor System in Rust

作者介绍: Zimon Dai,阿里云城市大脑 Rust 开发工程师。 本文根据 Zimon 在首届 RustCon Asia 大会上的演讲整理。 大家好,...

Hadoop3.2.0installation and Distributed system cluster deployment details

前言: 1、本文为小白学习实践记录,欲参考本文建议先从头至尾看一遍了解大致内容后再进行可事更功倍或再决定是否采取。 2、本...

hera 的相关问答

还没有任何问答,马上提问

评论 (1)

加载中
能用于生产吗?
2019/04/05 01:51
回复
举报
更多评论
1 评论
17 收藏
分享
返回顶部
顶部