基于docker的分布式任务调度系统xxl-job搭建

这篇具有很好参考价值的文章主要介绍了基于docker的分布式任务调度系统xxl-job搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文所使用的操作系统为: CentOS-7-x86_64-DVD-2009

一、安装MySQL(docker)

xxl-job 依赖 mysql,所以必须要安装mysql才行!

访问以下链接:https://hub.docker.com/_/mysql/ 寻找自己需要的MySQL版本拉取即可
docker 部署xxl-job,docker,分布式,容器,linux,服务器,java

1.下载镜像

docker pull mysql

这里未指定版本号,默认拉取的是最新MySQL镜像
docker 部署xxl-job,docker,分布式,容器,linux,服务器,java

2.导入zip包

下载xxljob项目,查看releases版本
https://github.com/xuxueli/xxl-job/releases
最新版本是2.4.0,下载zip包
docker 部署xxl-job,docker,分布式,容器,linux,服务器,java
将zip包上传至/opt 目录下,然后进行解压
centos首先需要安装 unzip 命令

yum install unzip

docker 部署xxl-job,docker,分布式,容器,linux,服务器,java

cd /opt
unzip xxl-job-2.4.0.zip

docker 部署xxl-job,docker,分布式,容器,linux,服务器,java
进入db目录,其中 tables_xxl_job.sql 就是我们要导入的sql文件

cd /opt/xxl-job-2.4.0/doc/db/

docker 部署xxl-job,docker,分布式,容器,linux,服务器,java

3.启动容器

运行mysql 镜像,指定密码为123456,映射目录/opt,指定默认编码为utf-8
注意:密码不要包含感叹号,否则会导致xxl-job启动失败

docker run -e MYSQL_ROOT_PASSWORD=123456  -p 3306:3306  -v /opt:/opt mysql  --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

docker 部署xxl-job,docker,分布式,容器,linux,服务器,java
如果输出:

/usr/sbin/mysqld: ready for connections. Version: '8.0.27'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.

则表示,启动mysql成功!可以看到版本是8.0.27

4.创建表

docker 部署xxl-job,docker,分布式,容器,linux,服务器,java
进入docker,导入sql文件(其中:61d147358f52 为自己ID)

docker exec -it 61d147358f52 /bin/bash
 mysql -u root -p123456

docker 部署xxl-job,docker,分布式,容器,linux,服务器,java
创建数据库,用if NOT EXISTS判断 xxl_job 表是否存在,如果不存在,创建xxl_job表 。

CREATE database if NOT EXISTS `xxl_job` default character set utf8 collate utf8_general_ci;

docker 部署xxl-job,docker,分布式,容器,linux,服务器,java
切换到xxl_job 数据库

use `xxl_job`;

5.导入sql

source /opt/xxl-job-2.4.0/doc/db/tables_xxl_job.sql;

docker 部署xxl-job,docker,分布式,容器,linux,服务器,java

6.设置权限

查看默认的授权列表

 select Host,User,authentication_string from mysql.user;

docker 部署xxl-job,docker,分布式,容器,linux,服务器,java

可以发现,默认已经将root用户设置了远程访问,也就是%的那条记录。但是密码和localhost的不一样。

因此,需要修改密码,并刷新权限

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;

docker 部署xxl-job,docker,分布式,容器,linux,服务器,java

7.远程连接

使用Navicat 新建一个mysql连接,点击连接测试,效果如下:
docker 部署xxl-job,docker,分布式,容器,linux,服务器,java
注意:这里必须能够远程访问,因为待会由 xxl-job来连接,必须测试通过,否则会导致xxl-job启动失败!

二、安装xxl-job

1.镜像下载

如果直接下载镜像

docker pull xuxueli/xxl-job-admin

执行会报错:

Using default tag: latest
Error response from daemon: manifest for xuxueli/xxl-job-admin:latest not found

因为官方没有打 latest 的tag标签,所以会提示下载失败!必须写版本才可以!
在上面的内容中,我们已经访问了releases连接,最新版本是2.4.0
那么下载命令为:

docker pull xuxueli/xxl-job-admin:2.4.0

docker 部署xxl-job,docker,分布式,容器,linux,服务器,java

2.启动容器

注意:官方文档,提到了2个命令

docker run -p 8080:8080 -v /tmp:/data/applogs --name xxl-job-admin  -d xuxueli/xxl-job-admin

docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl-job?Unicode=true&characterEncoding=UTF-8" -p 8080:8080 -v /tmp:/data/applogs --name xxl-job-admin  -d xuxueli/xxl-job-admin

这2个命令,执行之后,是无法访问8080页面的!
正确的命令为:

docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://192.168.37.129:3306/xxl_job?Unicode=true&characterEncoding=UTF-8 --spring.datasource.username=root --spring.datasource.password=123456" -p 8080:8080 -v /tmp:/data/applogs --name xxl-job-admin xuxueli/xxl-job-admin:2.4.0

上面的命令,就是在官方的基础上面改的!指定真实的mysql的ip地址,以及用户和密码。根据实际情况修改!!!
注意:jdbc的地址不能是127.0.0.1,因为官方的镜像没有mysql。官方的jdbc命令只是单纯的指定了数据库为xxl-job,并没有指定用户名和密码!
最后一个参数,是镜像地址。注意:必须带版本,否则无法启动
启动之后,输出如下:
docker 部署xxl-job,docker,分布式,容器,linux,服务器,java
最后一行,输出 init xxl-job admin success. 表示启动成功!

3.访问页面

如果直接访问:

http://192.168.37.129:8080

是没有任何效果的!!!
真正的访问地址为:

http://192.168.37.129:8080/xxl-job-admin

效果如下:
docker 部署xxl-job,docker,分布式,容器,linux,服务器,java
账号:amdin 密码:123456
点击登录,效果如下:
docker 部署xxl-job,docker,分布式,容器,linux,服务器,java文章来源地址https://www.toymoban.com/news/detail-830013.html

到了这里,关于基于docker的分布式任务调度系统xxl-job搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分布式定时任务调度xxl-job

    Quartz中最重要的三个对象:Job(作业)、Trigger(触发器)、Scheduler(调度器)。 xxl-job的调度原理:调度线程在一个while循环中不断地获取一定数量的即将触发的Trigger,拿到绑定的Job,包装成工作线程执行。 当然,不管在任何调度系统中,底层都是线程模型。如果要自己写一个

    2024年03月10日
    浏览(42)
  • xxl-Job分布式任务调度 入门

    我们可以先思考一下业务场景的解决方案: 某电商系统需要在每天上午10点,下午3点,晚上8点发放一批优惠券。 某银行系统需要在信用卡到期还款日的前三天进行短信提醒。 某财务系统需要在每天凌晨0:10结算前一天的财务数据,统计汇总。 12306会根据车次的不同,设置某

    2024年02月03日
    浏览(86)
  • 【分布式任务调度】(一)XXL-JOB调度中心集群部署配置

    XXL-JOB是一款轻量级的分布式任务调度中间件,默认支持6000个定时任务,如果生产环境的任务数量在这个范围内,可以选择使用 XXL-JOB。 XXL-JOB由Quartz这款老牌的任务调度中间件演化而来,相对来说,具备以下优势: 操作更简单,学习成本更低 使用异步化调度,性能更好 有配

    2024年02月16日
    浏览(32)
  • Java -- XXL-JOB分布式任务调度平台

    XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用 xxl是xxl-job的开发者大众点评的【许雪里】名称的拼音开头 官网地址 分布式任务调度平台XXL-JOB 文档地址 中文文档 English Docu

    2024年02月11日
    浏览(34)
  • XXL-JOB中间件【实现分布式任务调度】

    目录 1:XXL-JOB介绍 2:搭建XXL-JOB 2.1:调度中心 2.2:执行器 2.3:执行任务 3:分片广播 XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 官网:https://www.xuxueli.com/xxl-

    2024年02月03日
    浏览(94)
  • spring boot + xxl-job 分布式任务调度

    1、任务调度 1.1、什么是任务调度 我们可以先思考一下下面业务场景的解决方案: 某电商系统需要在每天上午10点,下午3点,晚上8点发放一批优惠券。 某财务系统需要在每天上午10点前结算前一天的账单数据,统计汇总。 某电商平台每天凌晨3点,要对订单中的无效订单进行

    2024年02月09日
    浏览(46)
  • 初识轻量级分布式任务调度平台 xxl-job

    大家好,这里是 Rocky 编程日记 ,喜欢后端架构及中间件源码,目前正在阅读 xxl-job 源码。同时也把自己学习该 xxl-job 笔记,代码分享出来,供大家学习交流,如若笔记中有不对的地方,那一定是当时我的理解还不够,希望你能及时提出。 如果对于该笔记存在很多疑惑,欢迎

    2024年02月10日
    浏览(59)
  • 【手把手】分布式定时任务调度解析之xxl-job

    在之前我写的讲解Quartz中有介绍过,Quartz有差不多二十年的历史,调度模型已经非常成熟了,而且很容易集成到Spring中去,用来执行业务任务是一个很好的选择。但是越早的设计存在的问题也越明显,比如: 1、调度逻辑(Scheduler)和任务类耦合在同一个项目中,随着调度任

    2024年01月19日
    浏览(51)
  • 分布式任务调度平台XXL-JOB学习笔记-helloworld运行

    环境:win10 eclipse java17 mysql8.0.17 xxl-job 2.4 源码:https://github.com/xuxueli/xxl-job/ 导入时按Existing Maven Projects导入,先导入xxl-job-admin(管理平台)和xxl-job-executor-sample-springboot(通过springboot管理的执行器实例)。 如果导入时速度非常慢,或者报错如 Plugin ‘org.apache.maven.plugins:maven-

    2024年02月13日
    浏览(33)
  • 使用java实现 分布式任务调度平台XXL-JOB 部署及使用

    XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 详细的特性和优点参考官网地址:https://www.xuxueli.com/xxl-job/ 一、任务调度 0.下载官方源码 1.解压后可以在 xxl-job-2.3.1docdb 找

    2024年02月11日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包