java 分布式作业调度_一个分布式作业调度平台Saturn

原标题:一个分布式作业调度平台Saturn

官网:https://github.com/vipshop/Saturn

作者:vipshop

简介

Saturn (任务调度系统)是唯品会开源的一个分布式任务调度平台,取代传统的Linux Cron/Spring Batch Job的方式,做到全域统一配置,统一监控,任务高可用以及分片并发处理。

Saturn是在当当开源的Elastic Job基础上,结合各方需求和我们的实践见解改良而成。

本文档针对分支2.x。

特性

基于时间的作业调度,作业实现不受开发语言所限

简单的作业实现和基于web的作业管理

并行作业分片支持

秒级调度支持

智能的基于负载作业分配算法

异常检测和自动failover

统计数据可视化

全方位监控和简易的trouble shooting

支持多活集群部署

容器友好

经受住生产每日几十亿级别的调度考验

更多...

快速开始

Saturn包括两大部分,Saturn Console和Saturn Executor。

Saturn Console是一个GUI,用于作业/Executor管理,统计报表展现,系统配置等功能。它同时也是整个调度系统的大脑:将作业任务分配到各Executor。

Saturn Executor是执行任务的Worker:按照作业配置的要求去执行部署于Executor所在容器或物理机当中的作业脚本和代码。

为了能让用户对Saturn有一个感性认识,我们提供了两种快速启动Console和Executor的方法。

至于生产环境的部署,请参见后面的部署指南。

一键启动

首先,请确保本机安装了以下软件:

JDK 7 or JDK 8

Maven 3.0.4+

node.js 8.7.0+

npm 5.4.2+

docker (版本不限)

然后,git clone本仓库到本地,checkout对应版本分支,进入quickstart目录。如果是Windows系统,请运行quickstart.bat,如果是Linux/Unix/MacOS系统,请运行quickstart.sh。

$ git clone https://github.com/vipshop/Saturn$ git checkout develop$ cd saturn-docker$ chmod +x quickstart.sh$ ./quickstart.sh

quickstart脚本将做如下事情:

启动内嵌的ZooKeeper

启动内嵌的Saturn-Console

启动内嵌的Saturn-Executor(包含了一个Java作业的实现)

在Saturn-Console添加该Java作业

启动完成后,您可以访问Saturn-Console:http://localhost:9088

如果你见到如下界面,则恭喜你,你的console已经启动。

6f0b2f08833ee53e886d171ad46298f2.png

在首页的search bar点击会出现一个叫做'mydomain'的namespace。点击进去会见到一个名为'demoJavaJob'的作业,该作业有5个分片,每隔5秒调度一次。

6c64ffa8099502fdcab1d9015189876a.png

一个叫做'executor-1'的executor执行器调度该作业。

Docker启动

c04a0e51eb101111546f882d4c548ba2.png

quickstart-docker.sh脚本将做如下事情:

构建基于OpenJDK7的基础镜像

构建基于OpenJDK7的Saturn-Console镜像

构建基于OpenJDK7的Saturn-Executor镜像

启动一个ZooKeeper集群的容器

启动一个Saturn-Console容器

启动两个Saturn-Executor容器

添加一个Java作业和一个Shell作业

启动成功后,您可以访问Saturn-Console:http://localhost:9088返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值