一、简介
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
- 中文文档
- English Documentation
二、安装
xxl-job需要的提前安装好以下环境:jdk、maven、mysql
宝塔安装mysql8.0
yum -y install jdk*
yum install maven -y
下载源码包Releases · xuxueli/xxl-job · GitHub
2.1 上传至服务器/home目录并解压:
tar -zxvf xxl-job-2.3.1.tar.gz
2.2 在数据库执行xxl-job数据库sql文件 ,路径在/home/xxl-job-2.3.1/doc/db/下
2.3 修改配置文件
# vi xxl-job-admin/src/main/resources/application.properties
server.port=8080 # 页面访问端口,根据实际需要求该
spring.datasource.username=root # 连接数据库的用户名密码
spring.datasource.password=password
# vi xxl-job-admin/src/main/resources/logback.xml
<property name="log.path" value="/home/xxl-job-2.3.1/xxl-job-admin.log"/>
# vi xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties
server.port=8081 # 根据需要修改9527
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin # 如果admin改了端口此处也要改
xxl.job.executor.logpath=/home/xxl-job-2.3.1/logs/jobhandler # 执行器运行日志文件存储磁盘路径
# vi xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/logback.xml
<property name="log.path" value="/home/xxl-job-2.3.1/logs/xxl-job-executor-sample-springboot.log"/>
2.4 打包
在解压目录下执行,/home/xxl-job-2.3.1
# mvn package
看到success就打包成功了
启动服务
#nohup java -jar xxl-job-admin/target/xxl-job-admin-2.3.1.jar > /dev/null 2> /dev/null &
#nohup java -jar xxl-job-executor-samples/xxl-job-executor-sample-springboot/target/xxl-job-executor-sample-springboot-2.3.1.jar > /dev/null 2> /dev/null &
访问:http://xxx:8080/xxl-job-admin
3.集群部署
3.1.服务启动
XXL-JOB的集群部署非常简单,只需要注意两点:
- 集群节点都连接的是同一个数据库。
- 多台机器部署时,需要统一系统时间,如果是单个机器部署,则不用管这条。
网络的时间时间服务器上的时间同步的方法
1.安装ntpdate工具# yum -y install ntpdate
2.设置系统时间与网络时间同步# ntpdate cn.pool.ntp.org
3.将系统时间写入硬件时间# hwclock --systohc
操作到这里,一个基本的调度中心集群就搭建好了。
需要注意的是,XXL-JOB的集群并不是分片集群,不管部署多少台,同一时间执行调度任务的只会有一台。
集群部署纯粹只是为了处理单点故障问题。