• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

docker compose加脚本一键搭建rabbitmq集群

武飞扬头像
qq_36089084
帮助1

集群搭建

1.新建compose.yaml文件,将下列代码复制到compose.yaml中。文件中声明了三个mq实例mq1、mq2、mq3, 用户名:test,密码:123321,端口如下

主机名 控制台端口 AMQP端口
mq1 15672 5672
mq2 15673 5673
mq3 15674 5674
  1.  
    services:
  2.  
    mq1:
  3.  
    image: rabbitmq:3-management
  4.  
    container_name: mq1
  5.  
    volumes:
  6.  
    - ./mq1/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
  7.  
    - ./mq1/.erlang.cookie:/var/lib/rabbitmq/.erlang.cookie
  8.  
    environment:
  9.  
    - RABBITMQ_DEFAULT_USER=test
  10.  
    - RABBITMQ_DEFAULT_PASS=123321
  11.  
    hostname: mq1
  12.  
    ports:
  13.  
    - 15672:15672
  14.  
    - 5672:5672
  15.  
    mq2:
  16.  
    image: rabbitmq:3-management
  17.  
    container_name: mq2
  18.  
    volumes:
  19.  
    - ./mq2/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
  20.  
    - ./mq2/.erlang.cookie:/var/lib/rabbitmq/.erlang.cookie
  21.  
    environment:
  22.  
    - RABBITMQ_DEFAULT_USER=test
  23.  
    - RABBITMQ_DEFAULT_PASS=123321
  24.  
    hostname: mq2
  25.  
    ports:
  26.  
    - 15673:15672
  27.  
    - 5673:5672
  28.  
    mq3:
  29.  
    image: rabbitmq:3-management
  30.  
    container_name: mq3
  31.  
    volumes:
  32.  
    - ./mq3/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
  33.  
    - ./mq3/.erlang.cookie:/var/lib/rabbitmq/.erlang.cookie
  34.  
    environment:
  35.  
    - RABBITMQ_DEFAULT_USER=test
  36.  
    - RABBITMQ_DEFAULT_PASS=123321
  37.  
    hostname: mq3
  38.  
    ports:
  39.  
    - 15674:15672
  40.  
    - 5674:5672
学新通

2.新建install.sh将下面脚本复制到文件中 。该脚本会新建mq1、mq2、mq3三个文件夹,并分别在每个文件中下创建rabbitmq.conf和.erlang.cookie文件,并用docker compose命令部署mq集群,会以后台方式启动。

  1.  
  2.  
    #!/bin/bash
  3.  
     
  4.  
    i=1
  5.  
    while [[ $i -le 3 ]]
  6.  
    do
  7.  
    name=mq${i}
  8.  
    rm -rf ./${name}
  9.  
    mkdir ./${name}
  10.  
    touch ./${name}/rabbitmq.conf
  11.  
    echo "loopback_users.guest = false" >> ./${name}/rabbitmq.conf
  12.  
    echo "listeners.tcp.default = 5672" >> ./${name}/rabbitmq.conf
  13.  
    echo "cluster_formation.peer_discovery_backend = rabbit_peer_discovery_classic_config" >> ./${name}/rabbitmq.conf
  14.  
    echo "cluster_formation.classic_config.nodes.1 = rabbit@mq1" >> ./${name}/rabbitmq.conf
  15.  
    echo "cluster_formation.classic_config.nodes.2 = rabbit@mq2" >> ./${name}/rabbitmq.conf
  16.  
    echo "cluster_formation.classic_config.nodes.3 = rabbit@mq3" >> ./${name}/rabbitmq.conf
  17.  
    touch ./${name}/.erlang.cookie
  18.  
    echo KIXIIWYWZXVQXKRJEDUN > ./${name}/.erlang.cookie
  19.  
    chmod 600 ./${name}/.erlang.cookie
  20.  
    let "i =1"
  21.  
    done
  22.  
     
  23.  
    docker compose down
  24.  
    docker compose up -d
  25.  
     
  26.  
学新通

3.将compose.yaml与install.sh放到同一个文件夹下,并执行下面代码。可以用docker compose logs -f 查看日志,也可以用docker logs -f mq1 (mq1是主机名)分别查看每一台启动日志

sudo chmod  x install.sh && sudo ./install.sh

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgicccg
系列文章
更多 icon
同类精品
更多 icon
继续加载