xxl_job分布式任务调度平台

1.xxl_job概述

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现源代码并接入多家公司线上产品线,开箱即用。在运维工作主要是为了方便集中管理,集中调度服务器上的定时任务。

2.xxl_job基础

系统:centos7.4
编译工具:mvn3.6.4
语言环境:java1.8.0_92
数据库:MySQL5.7.26
相关软件包地址:链接:https://pan.baidu.com/s/1JhORcUWQY-EeysRl_qsSDQ
提取码:gEt5
复制这段内容后打开百度网盘手机App,操作更方便哦

3.mvn部署

#  tar  -xf  apache-maven-3.6.0-bin.tar.gz  -C /usr/local/
#  vim /etc/profie  #配置环境变量
MAVEN_HOME=/usr/local/apache-maven-3.6.0/
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
#  source  /etc/profile
#  mvn --version

4.java部署

# tar -xf jdk1.8.0_92.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
# source /etc/profie
# java -version 

5.数据库部署

# 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;

6.xxl_job部署

xxl_job下载地址:https://github.com/xuxueli/xxl-job

# cd xxl-job-master

xxl-job-admin:调度中心
xxl-job-core:公共依赖
xxl-job-executor-samples:执行器Sample示例(选择合适的版本执行器,可直接使用,也可以参考其并将现有项目改造成执行器)
:xxl-job-executor-sample-springboot:Springboot版本,通过Springboot管理执行器,推荐这种方式;
:xxl-job-executor-sample-spring:Spring版本,通过Spring容器管理执行器,比较通用;
:xxl-job-executor-sample-frameless:无框架版本;
本地主要是php语言,所以使用的xxl-job-executor-sample-spring这个执行器;
一个执行器相当于一个客户端,一个执行器下可以有多个任务;一台服务器也可以有多个执行器。
特别需要将一些基础表导入至数据库中,数据库表结构在xxl-job-master/doc/db/tables_xxl_job.sql

# mysql -uroot -p
mysql> create database xxl_job;
mysql> use xxl_job;
mysql> source /root/xxl-job-master/doc/db/tables_xxl_job.sql  #导入基础表信息

xxl_job分布式任务调度平台

# vim  xxl-job-admin/src/main/resources/application.properties
对于这个配置需要进行如下修改
### web
server.port=9080    #默认是8080,为了避免端口冲突,建议使用其他端口
#server.servlet.context-path=/xxl-job-admin  #注释掉,在访问web页面只需要加端口即可

### 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, access token
xxl.job.accessToken=              #为了服务的安全强烈加上Token,可以随机写,复杂点好,另外在客户端也需要设置和这个一样的Token
进行代码编译
# cd /root/xxl-job-master/
# mvn clean
# mvn compile
# mvn package 

编译完成后,打包后的代码在 /root/xxl-job-master/xxl-job-admin/target/
可以在这个目录下直接用java -jar xxl-job-admin-2.3.0-SNAPSHOT.jar zhiie直接启动即可
本文采用的是在/usr/local/目录下新建一个目录

# 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 &

访问地址:http://ip:9080 默认用户名:admin 密码:123456
xxl_job分布式任务调度平台
登陆界面如下:
xxl_job分布式任务调度平台
运行报表:执行结果相关数据
任务管理:可以理解为定时器
调度日志:任务执行的输出日志
执行器管理:可以理解为客户端

7.xxl_client(客户端)部署

客户端配置如下情况:

# vim xxl-job-master/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties 
# web port
server.port=9081   #建议修改其他端口,默认是8081
# no web
#spring.main.web-environment=false

# log config
logging.config=classpath:logback.xml

### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"
xxl.job.admin.addresses=http://*.*.*.*:9080   #服务器地址

### xxl-job, access token
xxl.job.accessToken=        #和服务端的Token一样

### xxl-job executor appname
xxl.job.executor.appname=test-01      #客户端名称
### xxl-job executor registry-address: default use address to registry , otherwise use ip:port if address is null
xxl.job.executor.address=
### xxl-job executor server-info
xxl.job.executor.ip=
xxl.job.executor.port=9999       #客户端连接服务端的端口
进行代码编译
# cd /root/xxl-job-master/
# mvn clean
# mvn compile
# mvn package 
# mkdir /usr/local/xxl-job-client
# mv xxl-job-executor-samples/xxl-job-executor-sample-springboot/target/* /usr/local/xxl-job-client/
# nohup  java -jar xxl-job-executor-sample-springboot-2.3.0-SNAPSHOT.jar >& /dev/null &

以上配置完成一个客户端的配置,再返回服务端web管理进行配置即可。

xxl_job分布式任务调度平台
在返回至任务管理中心,配置一个任务进行测试

xxl_job分布式任务调度平台
加*处是必填项
刚刚新建的任务,如下图:
xxl_job分布式任务调度平台
执行一次,启动的话就会按照调度类型进行执行,那选择启动,返回调度日志进行查询
,查看是否设置成功,如下图表示设置成功:
xxl_job分布式任务调度平台

猜你喜欢

转载自blog.51cto.com/14133194/2611529