Cronicle项目安装与集群配置指南

Cronicle项目安装与集群配置指南

【免费下载链接】Cronicle A simple, distributed task scheduler and runner with a web based UI. 【免费下载链接】Cronicle 项目地址: https://gitcode.com/gh_mirrors/cr/Cronicle

项目概述

Cronicle是一个基于Node.js开发的分布式任务调度系统,支持跨服务器作业调度、负载均衡和自动故障转移。它提供了现代化的Web界面,可以替代传统的Cron任务调度器,特别适合需要分布式执行和集中管理的企业级任务调度场景。

系统要求

在开始安装前,请确保您的系统满足以下要求:

  1. 操作系统:必须是POSIX兼容系统(Linux/Unix/macOS)
  2. Node.js环境:需要安装LTS版本的Node.js(建议版本12.x或14.x)
  3. NPM包管理器:通常随Node.js一起安装

安装步骤

自动安装(推荐)

执行以下命令完成一键安装:

curl -s https://raw.githubusercontent.com/jhuckaby/Cronicle/master/bin/install.js | node

安装完成后,所有文件将存放在/opt/cronicle/目录下。

手动安装

如需手动安装,可执行以下步骤:

mkdir -p /opt/cronicle
cd /opt/cronicle
curl -L https://github.com/jhuckaby/Cronicle/archive/v1.0.0.tar.gz | tar zxvf - --strip-components 1
npm install
node bin/build.js dist

注意将v1.0.0替换为您需要的具体版本号。

初始配置

安装完成后,需要修改配置文件/opt/cronicle/conf/config.json。以下是关键配置项说明:

配置项说明示例值
base_app_url应用访问URLhttp://cronicle.example.com:3012
email_from通知邮件发件地址noreply@example.com
smtp_hostnameSMTP服务器地址smtp.example.com
secret_key集群通信密钥随机字符串
job_memory_max任务内存限制1024 (MB)
http_portWeb服务端口3012

初始化与启动

执行初始化命令(仅在主服务器执行):

/opt/cronicle/bin/control.sh setup

启动服务:

/opt/cronicle/bin/control.sh start

默认管理员账号:

  • 用户名:admin
  • 密码:admin(建议首次登录后立即修改)

部署架构选择

1. 单服务器部署

最简单的部署方式,适合小型环境。所有组件(调度器、执行器、Web界面)都运行在同一台服务器上。

2. 主从架构

  • 主服务器:负责任务调度
  • 工作服务器:只执行任务

特点:

  • 主服务器使用本地存储
  • 工作服务器无需运行初始化脚本
  • 只需复制配置文件即可添加工作服务器

3. 多服务器集群

支持自动故障转移的高可用架构,需要共享存储支持:

存储选项

  1. 共享文件系统(如NFS)
  2. Couchbase数据库
  3. Amazon S3存储桶

配置要点

  • 所有服务器配置必须一致
  • 确保服务器时钟同步
  • 主机名必须唯一且可解析
  • 通过Web界面配置服务器组

负载均衡配置

当使用负载均衡器时需注意:

  1. 只将主服务器和备用主服务器加入负载均衡池
  2. 设置web_direct_connecttrue
  3. 确保WebSocket连接能直达主服务器

运维注意事项

  1. 时间同步:所有服务器必须保持时钟同步
  2. 网络要求
    • UDP广播端口3014(用于服务发现)
    • WebSocket连接需要保持畅通
  3. 主机名
    • 必须唯一
    • 影响主服务器选举优先级(按字母排序)
  4. IP变更:需要重新加入集群
  5. 与Cron的区别:Cronicle的调度算法与传统Cron有所不同

最佳实践建议

  1. 安全建议

    • 及时修改默认管理员密码
    • 限制Web界面访问IP
    • 使用HTTPS加密通信
  2. 监控建议

    • 监控主服务器状态
    • 设置关键任务失败告警
    • 定期检查任务日志
  3. 性能优化

    • 根据任务负载调整工作服务器数量
    • 合理设置任务内存限制
    • 考虑使用SSD存储提升IO性能

通过以上配置,您可以构建一个稳定可靠的分布式任务调度系统,满足从简单到复杂的各种调度需求。

【免费下载链接】Cronicle A simple, distributed task scheduler and runner with a web based UI. 【免费下载链接】Cronicle 项目地址: https://gitcode.com/gh_mirrors/cr/Cronicle

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值