xxl-job任务调度中心

1.概述

XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。

xxl-job架构图

通过上图可知,可分为两个模块,分别是调度中心和执行器,调度中心主要管理调度信息,按照调度配置发出调度请求,调度信息配置,调度日志查询等相关功能;执行器收集调度请求并且执行或终止任务逻辑,日志回传等相关功能。

2.xxl-job基础环境部署

系统:centos-7.4

编译工具:mvn  3.6.0

数据库:MySQL  5.7.26

语言环境:java 1.8.0_92

mvn和java直接解压并且添加环境变量即可

```

# tar -xf jdk1.8.0_92.tar.gz  -C /usr/local/

# tar -xf apache-maven-3.6.0-bin.tar.gz  -C /usr/local/

# vim /etc/profie  #配置环境变量

export JAVA_HOME=/usr/local/jdk1.8.0_92

export JAVA_BIN=/usr/local/jdk1.8.0_92/bin

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

MAVEN_HOME=/usr/local/apache-maven-3.6.0/

export MAVEN_HOME

export PATH=${PATH}:${MAVEN_HOME}/bin

# source /etc/profie

# java -version

# mvn --version

# tar -xf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

# yum install -y mysql-community-*.rpm

# systemctl  restart mysqld

# grep pass /var/log/mysqld.log  #获取初始化密码

```

# mysql -uroot -p

mysql> set password = password('************');

mysql> FLUSH PRIVILEGES;

以上xxl-job任务调度中心基础环境已经搭建完成

3.xxl-job-admin服务端和客户端部署

# cd xxl-job-master

源码介绍:

- /doc :文档资料

- /db :“调度数据库”建表脚本

- /xxl-job-admin :调度中心,项目源码

- /xxl-job-core :公共Jar依赖

- /xxl-job-executor-samples :执行器,Sample示例项目(大家可以在该项目上进行开发,也可以将现有项目改造生成执行器项目),执行器也可以理解为客户端

# vim xxl-job-admin/src/main/resources/application.properties

对于这个配置需要进行如下修改

### xxl-job, datasource

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai

spring.datasource.username=root

spring.datasource.password=***********  #主要是数据库密码方面

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

### xxl-job, email   #邮件方面看需求修改

spring.mail.host=smtp.qq.com

spring.mail.port=25

[email protected]

[email protected]

spring.mail.password=xxx

spring.mail.properties.mail.smtp.auth=true

spring.mail.properties.mail.smtp.starttls.enable=true

spring.mail.properties.mail.smtp.starttls.required=true

spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory

# more xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties

这个是客户端配置文件,特别注意是在其他客户端使用时,也需要先修改配置,在进行编译,最后才能进行部署

### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"

xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin   

#这个地址需要修改成服务端的地址

# mysql -uroot -p

mysql> create database xxl_job;

mysql> use xxl_job;

mysql> source /root/xxl-job-master/doc/db/tables_xxl_job.sql  #导入基础表信息

# cd /root/xxl-job-master/

# mvn clean

# mvn compile

# mvn package

# mkdir /usr/local/xxl-job-admin

# mv /root/xxl-job-master/xxl-job-admin/target/* /usr/local/xxl-job-admin/

# cd /usr/local/xxl-job-admin

# nohup  java -jar xxl-job-admin-2.3.0-SNAPSHOT.jar  >& /dev/null &

# mkdir /usr/local/xxl-job-springboot

# mv

/root/xxl-job-master/xxl-job-executor-samples/xxl-job-executor-sample-springboot/target/*

/usr/local/xxl-job-springboot/

# cd /usr/local/xxl-job-springboot

# nohup  java -jar xxl-job-executor-sample-springboot-2.3.0-SNAPSHOT.jar >& /dev/null &


9999,8081端口是客户端端口,8080是控制台web界面端口。

访问地址:http://192.168.2.132:8080/xxl-job-admin/

登陆账号:admin   密码:123456


客户端在这个界面中叫做执行器。如下图所示,xxl-job-executor-sample是服务端本地默认开启的执行器。


注意:一个执行器下面可以有多个任务。

你可能感兴趣的:(xxl-job任务调度中心)