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

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

一、安装MySQL(docker)

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

访问以下链接:https://hub.docker.com/_/mysql/ 寻找自己需要的MySQL版本拉取即可
在这里插入图片描述

1.下载镜像

docker pull mysql

这里未指定版本号,默认拉取的是最新MySQL镜像
在这里插入图片描述

2.导入zip包

下载xxljob项目,查看releases版本
https://github.com/xuxueli/xxl-job/releases
最新版本是2.4.0,下载zip包
在这里插入图片描述
将zip包上传至/opt 目录下,然后进行解压
centos首先需要安装 unzip 命令

yum install unzip

在这里插入图片描述

cd /opt
unzip xxl-job-2.4.0.zip

在这里插入图片描述
进入db目录,其中 tables_xxl_job.sql 就是我们要导入的sql文件

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

在这里插入图片描述

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

在这里插入图片描述
如果输出:

/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,导入sql文件(其中:61d147358f52 为自己ID)

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

在这里插入图片描述
创建数据库,用if NOT EXISTS判断 xxl_job 表是否存在,如果不存在,创建xxl_job表 。

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

在这里插入图片描述
切换到xxl_job 数据库

use `xxl_job`;

5.导入sql

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

在这里插入图片描述

6.设置权限

查看默认的授权列表

 select Host,User,authentication_string from mysql.user;

在这里插入图片描述

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

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

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

在这里插入图片描述

7.远程连接

使用Navicat 新建一个mysql连接,点击连接测试,效果如下:
在这里插入图片描述
注意:这里必须能够远程访问,因为待会由 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

在这里插入图片描述

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,并没有指定用户名和密码!
最后一个参数,是镜像地址。注意:必须带版本,否则无法启动
启动之后,输出如下:
在这里插入图片描述
最后一行,输出 init xxl-job admin success. 表示启动成功!

3.访问页面

如果直接访问:

http://192.168.37.129:8080

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

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

效果如下:
在这里插入图片描述
账号:amdin 密码:123456
点击登录,效果如下:
在这里插入图片描述

  • 28
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要使用docker-compose安装xxl-job,可以按照以下步骤进行操作: 1. 首先,确保你已经安装了Dockerdocker-compose。如果没有安装,请先安装它们。 2. 创建一个docker-compose.yml文件,并将下面的内容复制到文件中: ``` version: '3' services: xxl-job: image: xuxueli/xxl-job-admin:2.2.0 container_name: xxl-job environment: PARAMS: "--spring.datasource.url=jdbc:mysql://{数据库IP}:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password={数据库用户密码}" ports: - 8080:8080 volumes: - /data/docker/xxl-job/logs/:/data/applogs/xxl-job/ ``` 3. 将{数据库IP}替换为你的数据库服务器的IP地址,将{数据库用户密码}替换为你的数据库的用户名和密码。 4. 在终端中,进入docker-compose.yml文件所在的目录,然后运行以下命令启动容器: ``` docker-compose up -d ``` 5. 等待一段时间,直到容器启动完成。你可以使用以下命令检查容器的状态: ``` docker ps ``` 6. 如果容器成功启动,你可以通过访问http://localhost:8080来访问xxl-job的管理界面。 这样,你就可以使用docker-compose安装xxl-job了。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* *2* [Docker compose 安装 xxl-job](https://blog.csdn.net/u011069013/article/details/108756572)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值