首页 > 其他分享 >当 xxl-job 遇上 docker → 它晕了,我也乱了!

当 xxl-job 遇上 docker → 它晕了,我也乱了!

时间:2022-11-28 12:04:09浏览次数:62  
标签:admin job 注册 executor docker xxl

开心一刻

  公交车上,一位老大爷睡着了,身体依靠在背后的一位年轻小伙子身上

  小伙子一直保持站姿十几分钟,直到老人下车

  这位在校大学生,接受采访时说:”当时就觉得背后这个人很轻盈,以为是个姑娘!“

当 xxl-job 遇上 docker → 它晕了,我也乱了!_xxl-job

前提准备

  对 xxl-job、docker 要有基本的了解

  xxl-job

  直接看官网:​​xxl-ob​​,你想要的和不想要的,官网都有详细说明

  楼主也做了简单尝试:​​分布式任务调度平台 → XXL-JOB 初探​​、​​分布式任务调度平台 → XXL-JOB 实战​​

2.1.0

  docker

  网上资料很多,b站视频也挺多的(推荐:尚硅谷2022版Docker实战教程(docker教程天花板))

  楼主就不做介绍了(主要是楼主不知道呀!)

当 xxl-job 遇上 docker → 它晕了,我也乱了!_xxl-job_02

admin 和 executor 都单独部署

  部署很简单,我就不具体演示了(不是主角,没戏份!)

  直接看效果

xxl-job-admin

当 xxl-job 遇上 docker → 它晕了,我也乱了!_任务调度_03

xxl-job-executor

当 xxl-job 遇上 docker → 它晕了,我也乱了!_docker_04

  是不是很简单?

  效果也和我们预想的一样

admin 单独部署,executor 通过 docker 部署

docker

当 xxl-job 遇上 docker → 它晕了,我也乱了!_docker_05

docker 版本 20.10.21

docker

当 xxl-job 遇上 docker → 它晕了,我也乱了!_任务调度_06

docker 网络的 bridge 模式;这里先混个眼熟,注意IP 172.17.0.1

  executor 和 docker 并存

xxl-job-executor ,然后在 xxl-job-admin

当 xxl-job 遇上 docker → 它晕了,我也乱了!_任务调度_07

172.17.0.1 ,而非 192.168.8.223 ,那么伴随而来的问题就是: xxl-job-admin 访问不通 xxl-job-executor

  我们改成手动注册,看看能否访问通

当 xxl-job 遇上 docker → 它晕了,我也乱了!_spring_08

docker

docker

当 xxl-job 遇上 docker → 它晕了,我也乱了!_docker_09

  executor 通过 docker 部署

xxl-job-executor 打成 docker

run

当 xxl-job 遇上 docker → 它晕了,我也乱了!_任务调度_10

172.17.0.2 ,很明显,问题( xxl-job-admin 访问不通 xxl-job-executor

  那改成手动注册试试

当 xxl-job 遇上 docker → 它晕了,我也乱了!_docker_11

xxl-job-admin 还是访问不通 xxl-job-executor

  放弃抵抗吧,别挣扎了

当 xxl-job 遇上 docker → 它晕了,我也乱了!_docker_12

xxl-job-executor 是通过 docker 部署的,你有把 docker 容器的 9999

由于换了地方,IP也跟着变了, 192.168.8.222 ->  10.5.13.222 , 192.168.8.223  ->  10.5.13.223

sample-executor:1.0

当 xxl-job 遇上 docker → 它晕了,我也乱了!_xxl-job_13

  我就问你,是不是通了?

admin 和 executor 都通过 docker 部署

executor 通过 docker

admin 通过 docker

当 xxl-job 遇上 docker → 它晕了,我也乱了!_xxl-job_14

  可以看到,手动注册是没有问题滴

  自动注册还要试吗?

当 xxl-job 遇上 docker → 它晕了,我也乱了!_docker_15

自动注册IP问题

自动注册的IP为什么不是 Docker

xxl-job-admin 还是 xxl-job-executor

xxl-job 自动注册没有做好 docker

github 上 xxl-job 有很多相关的 issue (​​191​​​、​​630​​​、​​1121​​​、​​1658​​​、​​1668​​)

xxl-job-executor-sample-springboot 有个类: XxlJobConfig.java

当 xxl-job 遇上 docker → 它晕了,我也乱了!_xxl-job_16

xxl-job-executor-sample-springboot

  引入依赖

当 xxl-job 遇上 docker → 它晕了,我也乱了!_xxl-job_17

XxlJobConfig.java

当 xxl-job 遇上 docker → 它晕了,我也乱了!_spring_18

  添加配置

当 xxl-job 遇上 docker → 它晕了,我也乱了!_任务调度_19

  executor 和 docker 并存

docker 运行,但 executor 不通过 docker

当 xxl-job 遇上 docker → 它晕了,我也乱了!_任务调度_20

127.0.0.1 ,莫非要通过 docker

  executor 通过 docker 部署

sample-executor:1.1

当 xxl-job 遇上 docker → 它晕了,我也乱了!_docker_21

172.17.0.2 ,不是宿主机ip: 10.5.13.223 ,莫非 docker

  我们进容器内看看日志

当 xxl-job 遇上 docker → 它晕了,我也乱了!_任务调度_22

  我们再看看容器内的网卡配置信息

当 xxl-job 遇上 docker → 它晕了,我也乱了!_docker_23

10.5.13.223

  许大欺我?

当 xxl-job 遇上 docker → 它晕了,我也乱了!_docker_24

总结

xxl-job-executor 遇上 Docker

    知道如何处理的小伙伴,欢迎评论区留言

  2、自动注册不行了,那就用手动注册呗

当 xxl-job 遇上 docker → 它晕了,我也乱了!_xxl-job_25

docker



标签:admin,job,注册,executor,docker,xxl
From: https://blog.51cto.com/u_13423706/5890828

相关文章

  • ssh 如何连接docker
    1.确保容器已经跑起来,并映射出ssh需要的22端口。dockerrun-it-p12222:222.需要在docker容器中安装ssh的sever端sudoaptinstallopenssh-server......
  • 如何保存/同步多架构容器 Docker 镜像
    前言随着容器、芯片技术的进一步发展,以及绿色、节能、信创等方面的要求,多CPU架构的场景越来越常见。典型的应用场景包括:信创:x86服务器+鲲鹏ARM等信创服务器;个人......
  • 如何保存/同步多架构容器 Docker 镜像
    前言随着容器、芯片技术的进一步发展,以及绿色、节能、信创等方面的要求,多CPU架构的场景越来越常见。典型的应用场景包括:信创:x86服务器+鲲鹏ARM等信创服务器;个人......
  • 这 4 个超实用的 Docker 镜像构建技巧!你不会不知道吧?
    最近做了一个好玩的工具,叫 xbin.io。其中有一项工作是为不同的工具来构建Docker镜像,让他们都运行在Docker中(实际上,是兼容Dockerimage的其他 sandbox系统,没有直......
  • 第2-4-7章 docker安装WorkBench-规则引擎Drools-业务规则管理系统-组件化-中台
    目录8.WorkBench8.1WorkBench简介8.2安装方式8.2.1传统方式安装8.2.2docker安装droolsworkbench8.3使用方式8.3.1创建空间、项目8.3.2创建数据对象8.3.3创建DRL......
  • Docker 工作原理分析
    docker容器原理分析docker的工作方式Namespace容器对比虚拟机Cgroups容器看到的文件MountnamespacechrootrootfsVolume(数据卷)打包一个go镜像总......
  • 三. docker-compose 简介、基本命令及示例-1
    docker-compose使用简介、基于docker-compsoe实现Nginx+Java+Mysql服务部署docker-compose简介docker-compose项目是Docker官方的开源项目,负责实现对单机容器的快速编排,d......
  • 快速创建Jenkins Job
    JenkinsJob类型1.Freestyleproject这个是jenkins的基础功能,可以用它来执行各种构建任务,他只能构建在一个电脑上,如果没有太多的需求,这个job基本够用了,它包含了所......
  • linux中使用docker创建nginx容器镜像并部署静态网站项目
      1,先进入服务器root目录,然后创建nginx对应该的配置文件目录/日志目录/静态文件目录等,后面创建nginx容器时要把目录一一挂载上cdroot/mkdirnginxcdnginxmkdir......
  • docker运行mysql
    安装yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2--skip-broken启动systemctlstartdocker#启动Docker服务systemctlstopdocker#停止Do......