Linux下分布式任务调度XXL-JOB基础环境部署

Posted 緈諨の約錠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下分布式任务调度XXL-JOB基础环境部署相关的知识,希望对你有一定的参考价值。

1 什么是xxl-job

XXL-JOB是美团点评开源的轻量级分布式任务调度平台。该项目于2015年11月发布第一个版本1.0,目前最新版本2.3.0;

XXL-JOB在国内线上生产环境的案例使用比较多,同时也是比较受欢迎的国产开源软件之一,这里笔者简单记录下Linux下xxl-job环境的搭建过程。

2 获取源码包

下载源码: https://github.com/xuxueli/xxl-job

这里笔者以最新的版本为例:https://github.com/xuxueli/xxl-job/archive/refs/tags/2.3.0.tar.gz

xxl-job文档: https://www.xuxueli.com/xxl-job/

3 需要依赖的环境

因为需要打包,所以要有Maven环境(可参考我另一篇博文进行配置:https://blog.csdn.net/smilehappiness/article/details/116464543

因为部署的是jar应用,启动时需要依赖Jdk1.8+

因为xxl-job需要存储数据,需要依赖·mysql数据库(可参考我另一篇博文进行配置:https://blog.csdn.net/smilehappiness/article/details/105344516

4 上传并解压源码包(可以使用IDEA工具直接打开项目,打包可运行的jar服务)

使用xftp或者其他工具上传源码包到Linux服务器上,然后解压源码包:
tar -zxvf xxl-job-2.3.0.tar.gz -C /usr/local

5 初始化必要的数据库和表

在源码包中,/xxl-job/doc/db/tables_xxl_job.sql,导入到mysql中

执行sql脚本后,会生成以下8张表:
在这里插入图片描述

6 修改xxl-job-admin的配置

位置: /xxl-job/xxl-job-admin/src/main/resources/application.properties

使用命令修改必要参数: vim /usr/local/xxl-job-2.3.0/xxl-job-admin/src/main/resources/application.properties

在这里插入图片描述

主要改这两个地方: 修改端口号(可以不改但是不能冲突),另外,数据库连接改为自己的mysql的用户名字和密码

7 打包项目,启动xxl-job服务

  • Linux配置maven环境

    进入到解压的文件夹下(/usr/local/xxl-job-2.3.0/)执行:mvn package
    会在target目录下生成可运行 xxl-job-admin-2.3.0.jar
    在这里插入图片描述

    注:这里最好使用IDEA工具打包,因为Linux上运行maven命令下载依赖超级慢,笔者用了40min才打包完成

  • 编写启动脚本启动xxl-job服务

    start.sh脚本

    #!/bin/sh
    
    
    var=`find . -name xxl-job-admin-2.3.0.jar`
    
    fname=${var##*/}
    
    java  -jar -Xms128M -Xmx256M -Xmn50M  ${fname} >>nohup.out 2>&1& echo $! > service.pid
    
    

    stop.sh脚本

    #!/bin/sh
    
    pid=$(cat service.pid)
    
    kill -9 $pid
    
    rm -rf service.pid
    
    

8 访问xxl-job服务

访问地址: http://ip:端口号/xxl-job-admin,例如:http://127.0.0.1:9999/xxl-job-admin

注: 如果服务器开启了防火墙,需要开放,你上文设置的那个端口号(我的是9999)才能访问

笔者使用的是阿里云服务器,不仅需要配置安全组,防火墙也需要开放9999端口

  • 需要配置安全组
    在这里插入图片描述

  • 如果你的服务器或者虚拟机开启了防火墙,需要开放9999端口
    开启9999防火墙端口
    firewall-cmd --zone=public --add-port=9999/tcp --permanent
    重新加载防火墙配置
    firewall-cmd --reload

访问成功后的页面,如下图所示:
在这里插入图片描述

9 xxl-job执行器配置

xxl:
  job:
    accessToken:
    admin:
      # 这里的9999端口与上面xxl-job-admin配置的端口一致即可
      addresses: http://ip:9999/xxl-job-admin
    executor:
      address:
      appname: 服务的应用名称
      ip:
      port: 1234
      logpath: /usr/local/xxl-job-2.3.0/xxl-job-admin/logs
      logretentiondays: 30

参考资料链接:https://blog.csdn.net/zpp15603669517/article/details/113942508

好啦,本篇搭建xxl-job教程,就先写到这里啦,希望对老铁们有所帮助~

写博客是为了记住自己容易忘记的东西,另外也是对自己工作的总结,希望尽自己的努力,做到更好,大家一起努力进步!

如果有什么问题,欢迎大家评论,一起探讨

给自己的梦想添加一双翅膀,让它可以在天空中自由自在的飞翔!

以上是关于Linux下分布式任务调度XXL-JOB基础环境部署的主要内容,如果未能解决你的问题,请参考以下文章

分布式任务调度平台xxl-job的使用(java)

xxl-Job简介与环境搭建

分布式任务调度框架xxl-job入门(Cron表达式环境搭建整合SpringBoot广播任务与动态分片)

Linux系统 xxl-job下载安装

XXL-JOB分布式任务调度框架-策略详解

xxl-job分布式任务调度平台