1. cronsun 是一个分布式任务系统,单个结点和 *nix 机器上的 crontab 近似。支持界面管理机器上的任务,支持任务失败邮件提醒,安装简单,使用方便,是替换 crontab 一个不错的选择。
cronsun 是为了解决多台 *nix 机器上crontab 任务管理不方便的问题,同时提供任务高可用的支持(当某个节点死机的时候可以自动调度到正常的节点执行)。
2. cronsun特性:
- 方便对多台服务器上面的定时任务进行集中式管理
- 任务调度时间粒度支持到
秒
级别 - 任务失败自动重试
- 任务可靠性保障(从N个节点里面挑一个可用节点来执行任务)
- 简洁易用的管理后台,支持多语言
- 任务日志查看
- 任务失败邮件告警(也支持自定义http告警接口)
- 用户验证与授权
本文主要介绍如何搭建cronsun,详细介绍请查看: github地址: https://github.com/shunfei/cronsun
4. 安装:
① 下载cronsun: https://github.com/shunfei/cronsun/releases/,本文使用的是v0.3.4版本,文档安装: https://github.com/shunfei/cronsun/releases/download/v0.3.4/cronsun-v0.3.4-linux-amd64.zip, 熟悉go的同学也可以使用源码安装。
下载并解压上述文件,得到如下:
cronnode: 负责调度和执行任务的
cronweb: 负责管理任务、查看任务执行日志的
conf: db/web/sercuriry等配置文件
② 安装 etcd: (主要用于分布式配置共享和服务发现)
本文使用的是: v3.3.10版本,源码安装:https://github.com/etcd-io/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz,得到如下:
default.etcd: 数据存储目录
etcd: etcd二进制启动文件
etcdctl: 可以操作etcd的工具
③ 安装mongodb(此步骤省略,网上可以搜到很多)
4. 启动服务:
① 先启动etcd服务:
进入etcd安装的目录: ./etcd
默认侦听的客户端地址为: http://localhost:2379, 这个可以修改配置文件
② 启动mongodb:
进入安装目录: ./mongod
③ 启动cronsun节点:
在启动之前,需要修改conf下的db.conf:
mongodb的连接地址:
etcd.conf配置:
etcd服务连接的地址
进入安装目录: ./cronnode -conf conf/base.json
④ 启动cronweb(管理脚本的界面):
进入安装目录:./cronweb -conf conf/base.json
全部服务启动完毕,打开网址: 主机:7079/ui/#/node, 本文为: 192.168.10.116:7079/ui/#/node
默认登录账号密码: admin@admin.com / admin
至此,全部步骤都完成,如有说的不对的话,望指正。