xxl-job安装部署

一、简介

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。

二、安装

xxl-job需要的提前安装好以下环境:jdk、maven、mysql

宝塔安装mysql8.0

yum -y install jdk*

yum install maven -y

安装jdk



#没有源的需要先配置jdk源
​cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum clean all
yum makecache

#有jdk源跳过上面

yum -y install jdk*
yum list installed |grep java
yum list installed |grep jdk
yum search java | grep -i --color jdk
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
java -version

​

下载源码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的集群并不是分片集群,不管部署多少台,同一时间执行调度任务的只会有一台。
集群部署纯粹只是为了处理单点故障问题。

3.2.分片节点部署

1.同样安装jdk,maven,在节点上配置好服务器同步时间,开放9999端口

3.把xxl-job下载包拷贝到另一台集群节点/home/目录下解压

cd /home/xxl-job-2.3.1/

3.编辑配置文件 

vi xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="true" scanPeriod="1 seconds">

    <contextName>logback</contextName>
    <property name="log.path" value="/home/xxl-job-2.3.1/logs/xxl-job-executor-sample-springboot.log"/>

    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log.path}</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n
            </pattern>
        </encoder>
    </appender>

    <root level="info">
        <appender-ref ref="console"/>
        <appender-ref ref="file"/>
    </root>

</configuration>

指定了日志目录:/home/xxl-job-2.3.1/logs/xxl-job-executor-sample-springboot.log

创建日志目录:

cd /home/xxl-job-2.3.1

mkdir /home/xxl-job-2.3.1/logs/

说明:日志地址不可不用改,当前机子只有/home目录下空间大点,所以才进行了修改

配置后台地址:

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

# web port
server.port=9527
# 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://192.168.100.11:8080/xxl-job-admin

### xxl-job, access token
xxl.job.accessToken=default_token

### xxl-job executor appname
xxl.job.executor.appname=xxl-job-data-center
### 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
### xxl-job executor log-path
xxl.job.executor.logpath=/home/xxl-job-2.3.1/logs/jobhandler
### xxl-job executor log-retention-days
xxl.job.executor.logretentiondays=30

配置job后台地址:xxl.job.admin.addresses=http://192.168.100.11:8080/xxl-job-admin

192.168.100.11 是xxl-job后台地址

指定日志目录:xxl.job.executor.logpath=/home/xxl-job-2.3.1/logs/jobhandler

mkdir /home/xxl-job-2.3.1/logs/jobhandler

4.打包

#cd /home/xxl-job-2.3.1/

# mvn package

5.启动节点服务加入守护进程

安装nohup

yum install coreutils

#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 &
#ps -ef|grep xxl-job

加入开机服务

cd /home/xxl-job-2.3.1/

创建开机脚本

vi startup.sh

#!/bin/bash
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 &

chmod 777  startup.sh

 cd /etc/rc.d

vi rc.local 在最后面加入内容,保存

cd /home/xxl-job-2.3.1/
sh /home/xxl-job-2.3.1/startup.sh

 chmod +x /etc/rc.d/rc.local 

可以reboot重启后,使用ps -ef | grep xxl-job查看是否成功

加入守护进程

vi xxljob.sh

chmod +x xxljob.sh

#!/bin/bash
#by yuanzelin8
#2023-02-09
#xxl-job守护进程;
port=`ps -ef|grep xxl-job|wc -l`
if [ $port -lt 2 ]; then
cd /home/xxl-job-2.3.1
/bin/sh /home/xxl-job-2.3.1/startup.sh
echo "启用成功";
fi

6.在后台添加节点注册

  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值