• xxl-job安装部署


    一、简介

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

    二、安装

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

    宝塔安装mysql8.0

    yum -y install jdk*

    yum install maven -y

    安装jdk

    1. #没有源的需要先配置jdk源
    2. ​cd /etc/yum.repos.d/
    3. mv CentOS-Base.repo CentOS-Base.repo.backup
    4. wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    5. yum clean all
    6. yum makecache
    7. #有jdk源跳过上面
    8. yum -y install jdk*
    9. yum list installed |grep java
    10. yum list installed |grep jdk
    11. yum search java | grep -i --color jdk
    12. yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
    13. 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

    1. server.port=8080 # 页面访问端口,根据实际需要求该
    2. spring.datasource.username=root # 连接数据库的用户名密码
    3. 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

    1. server.port=8081 # 根据需要修改9527
    2. xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin # 如果admin改了端口此处也要改
    3. 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就打包成功了

    启动服务

    1. #nohup java -jar xxl-job-admin/target/xxl-job-admin-2.3.1.jar > /dev/null 2> /dev/null &
    2. #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. 网络的时间时间服务器上的时间同步的方法
    2. 1.安装ntpdate工具# yum -y install ntpdate
    3. 2.设置系统时间与网络时间同步# ntpdate cn.pool.ntp.org
    4. 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

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <configuration debug="false" scan="true" scanPeriod="1 seconds">
    3. <contextName>logback</contextName>
    4. <property name="log.path" value="/home/xxl-job-2.3.1/logs/xxl-job-executor-sample-springboot.log"/>
    5. <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    6. <encoder>
    7. <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
    8. </encoder>
    9. </appender>
    10. <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
    11. <file>${log.path}</file>
    12. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    13. <fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern>
    14. </rollingPolicy>
    15. <encoder>
    16. <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n
    17. </pattern>
    18. </encoder>
    19. </appender>
    20. <root level="info">
    21. <appender-ref ref="console"/>
    22. <appender-ref ref="file"/>
    23. </root>
    24. </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

    1. # web port
    2. server.port=9527
    3. # no web
    4. #spring.main.web-environment=false
    5. # log config
    6. logging.config=classpath:logback.xml
    7. ### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"
    8. xxl.job.admin.addresses=http://192.168.100.11:8080/xxl-job-admin
    9. ### xxl-job, access token
    10. xxl.job.accessToken=default_token
    11. ### xxl-job executor appname
    12. xxl.job.executor.appname=xxl-job-data-center
    13. ### xxl-job executor registry-address: default use address to registry , otherwise use ip:port if address is null
    14. xxl.job.executor.address=
    15. ### xxl-job executor server-info
    16. xxl.job.executor.ip=
    17. xxl.job.executor.port=9999
    18. ### xxl-job executor log-path
    19. xxl.job.executor.logpath=/home/xxl-job-2.3.1/logs/jobhandler
    20. ### xxl-job executor log-retention-days
    21. 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

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

    加入开机服务

    cd /home/xxl-job-2.3.1/

    创建开机脚本

    vi startup.sh

    1. #!/bin/bash
    2. 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 在最后面加入内容,保存

    1. cd /home/xxl-job-2.3.1/
    2. 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

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

    6.在后台添加节点注册

  • 相关阅读:
    python输出唐诗 青少年编程电子学会python编程等级考试二级真题解析2021年12月
    深入Java集合:ArrayList 源码解析 - JDK8
    python——单例模式
    Mysql数据重复问题处理
    #循循渐进学51单片机#函数进阶与按键#not.7
    全链路压测:优化系统性能的关键措施
    购物车下单
    【Python】进阶学习:一文了解NotImplementedError的作用
    .NET Core WebAPI 基础 文件上传
    STL关联式容器set,multiset,pair,map
  • 原文地址:https://blog.csdn.net/yuanzelin8/article/details/128091652