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

文章目录

  • 1 什么是xxl-job
  • 2 获取源码包
  • 3 需要依赖的环境
  • 4 上传并解压源码包(可以使用IDEA工具直接打开项目,打包可运行的jar服务)
  • 5 初始化必要的数据库和表
  • 6 修改xxl-job-admin的配置
  • 7 打包项目,启动xxl-job服务
  • 8 访问xxl-job服务
  • 9 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张表:
Linux下分布式任务调度XXL-JOB基础环境部署_第1张图片

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

Linux下分布式任务调度XXL-JOB基础环境部署_第2张图片

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

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

  • Linux配置maven环境

    进入到解压的文件夹下(/usr/local/xxl-job-2.3.0/)执行:mvn package
    会在target目录下生成可运行 xxl-job-admin-2.3.0.jar
    Linux下分布式任务调度XXL-JOB基础环境部署_第3张图片

    注:这里最好使用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

访问成功后的页面,如下图所示:
Linux下分布式任务调度XXL-JOB基础环境部署_第4张图片

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,分布式专题,环境搭建专题,linux,xxl-job)