• docker部署xxl-job


    资源

    xxl-job:1.9.1
    docker:17.05.0-ce
    maven:3.5.0-jdk-8
    tomcat:8.5.23.0
    mysql:5.6.40
    

    一、创建数据库

    1. 克隆项目到服务器下
    cd /tmp
    git clone https://github.com/xuxueli/xxl-job.git
    
    1. 启动数据库
      docker run -itd --name xxl-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6.40

    2. 复制sql至mysql容器
      docker cp /tmp/xxl-job-1.9.1/doc/db/tables_xxl_job.sql xxl-mysql:/tmp

    3. 进入容器
      docker exec -it xxl-mysql /bin/bash

    4. 连接数据库
      mysql -uroot -p123456

    6.创建xxl-job数据库
    CREATE DATABASE `xxl-job` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

    1. 导入数据库
      source /tmp/tables_xxl_job.sql

    2. 验证并退出

    use xxl-job;
    show tables;        //16张默认表
    quit
    
    1. 退出mysql容器回到本地
      exit

    二、修改配置文件

    1. 修改xxl-job-admin配置
      vim /tmp/xxl-job-1.9.1/xxl-job-admin/src/main/resources/xxl-job-admin.properties
      将localhost:3306修改为你数据库ip:port 我的是本地ip的3306端口,如192.168.0.129:3306
      xxl.job.db.url=jdbc:mysql://192.168.0.129:3306/xxl-job?useUnicode=true&characterEncoding=UTF-8
      修改账户密码
      xxl.job.db.password=123456

    2. 修改xxl-job-executor配置
      vim /tmp/xxl-job-1.9.1/xxl-job-executor-samples/xxl-job-executor-sample-spring/src/main/resources/xxl-job-executor.properties
      将xxl.job.admin.address修改为你xxl-job-admin容器将要启用的端口(在下面的步骤我将用8888端口启动xxl-admin容器,只要端口没被占用,可启用任意端口,但启动容器的时候请与之保持一致,不然项目启动不了)
      xxl.job.admin.addresses=http://192.168.0.129:8888

    三、编译调度中心和执行器

    1. 临时启动maven容器来编译项目(或者自己本地安装maven也行)
      docker run -itd --name mvn maven:3.5.0-jdk-8 /bin/bash

    2. 将项目复制到maven容器内
      docker cp /tmp/xxl-job-1.9.1 mvn:/tmp

    3. 进入容器编译xxl-job-admin

    cd /tmp/xxl-job-1.9.1/xxl-job-admin
    mvn clean package
    
    1. 同理编译执行器(我选的是spring)
    cd /tmp/xxl-job-1.9.1/xxl-job-executor-samples/xxl-job-executor-sample-spring
    mvn clean package
    
    1. 编译成功后退出maven容器
      exit

    2. 将编译好的项目拷贝到本地
      docker cp mvn:/tmp/xxl-job-1.9.1 /tmp

    3. 在拷贝好的目录下新建dockerfile以建立xxl-job-admin镜像

    cd /tmp/xxl-job-1.9.1
    vim dockerfile
    
    1. 以下为dockerfile内容
    FROM tomcat:8.5
    EXPOSE 8080
    
    ENV TOMCAT_WEBAPPS /usr/local/tomcat/webapps
    ENV TIME_ZONE Asia/Shanghai
    
    RUN rm -rf $TOMCAT_WEBAPPS/ROOT/* $TOMCAT_WEBAPPS/docs $TOMCAT_WEBAPPS/examples $TOMCAT_WEBAPPS/host-manager $TOMCAT_WEBAPPS/manager 
    && ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone
    
    ADD xxl-job-admin/target/xxl-job-admin-1.9.1/ $TOMCAT_APPS/ROOT/
    
    1. 新建xxl-job-admin镜像
    docker build -t xxl-admin:0.1 .         #注意后面有个“.”
    docker images                           #可看到已打包的镜像
    
    1. 启动xxl-admin容器
      docker run -itd --name xxl-admin -p 8888:8080 xxl-admin:0.1

    2. 替换第7步的dockerfile中ADD内容以新建xxl-executor镜像
      ADD xxl-job-executor-samples/xxl-job-executor-sample-spring/target/xxl-job-executor-sample-spring-1.9.1/ $TOMCAT_APPS/ROOT/

    3. 将--name修改后重复第8,9步新建xxl-executor镜像并启动容器

    docker build -t xxl-executor:0.1 .
    docker run -itd --name xxl-executor -p 8888:8080 xxl-executor:0.1
    
    1. 访问http://192.168.0.129:8888即可登录xxl-job
  • 相关阅读:
    Hadoop生态圈-Hive快速入门篇之HQL的基础语法
    Hadoop生态圈-Hive快速入门篇之Hive环境搭建
    Hadoop生态圈-zookeeper的API用法详解
    Hadoop生态圈-zookeeper完全分布式部署
    Hadoop基础-MapReduce的工作原理第一弹
    Hadoop基础-HDFS的读取与写入过程
    java基础-回调函数(callback)
    Hadoop基础-网络拓扑机架感知及其实现
    Hadoop基础-HDFS数据清理过程之校验过程代码分析
    Hadoop基础-Protocol Buffers串行化与反串行化
  • 原文地址:https://www.cnblogs.com/vickey-wu/p/9087951.html
Copyright © 2020-2023  润新知