当前位置:   article > 正文

docker部署rabbitmq集群,不同服务器进行集群配置_rabbitmq集群docker配置

rabbitmq集群docker配置

1、拉取镜像,启动单个rabbitmq容器

docker pull rabbitmq
docker run -d --name rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq

  2、创建网络

docker network create mq-net

注意:3.8以上的mq不需要设置镜像策略;直接用Quorum类型队列代替 

3、先在单个启动的mq容器中获取一个cookie值,作为集群的cookie

docker exec -it rabbit cat /var/lib/rabbitmq/.erlang.cookie

4、创建一个文件,记录cookie

  1. cd /home/mxy
  2. # 创建cookie文件
  3. touch .erlang.cookie
  4. # 写入cookie
  5. echo "GIIKNSACLCUKKXCZEHQD" > .erlang.cookie
  6. # 修改cookie文件的权限
  7. chmod 600 .erlang.cookie

5、停止并删除当前的mq容器,重新搭建集群。 

docker rm -f rabbit

6、在/home/mxy目录新建一个配置文件 rabbitmq.conf

  1. cd /home/mxy
  2. # 创建文件
  3. touch rabbitmq.conf

7、 配置rabbitmq.conf文件

  1. loopback_users.guest = false  #禁用默认账号
  2. listeners.tcp.default = 5672  #监听对外通信端口配置
  3. cluster_formation.peer_discovery_backend = rabbit_peer_discovery_classic_config  #集群节点发现配置
  4. cluster_formation.classic_config.nodes.1 = rabbit@rabbitmq1  #集群节点1
  5. cluster_formation.classic_config.nodes.2 = rabbit@rabbitmq2  #集群节点2 多个节点就多加几行配置

8、启动服务1

docker run -d --name rabbitmq1 -e  RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 4369:4369 -p 25672:25672 -v mq-plugins:/plugins --net mq-net --hostname rabbitmq1 -v /home/mxy/rabbitmq.conf:/etc/rabbitmq.conf -v /home/mxy/.erlang.cookie:/var/lib/rabbitmq/.erlang.cookie  --add-host rabbitmq2:服务2的ip --restart unless-stopped rabbitmq

9、启动服务2

docker run -d --name rabbitmq2 -e  RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 4369:4369 -p 25672:25672 -v mq-plugins:/plugins --net mq-net --hostname rabbitmq2 -v /home/mxy/rabbitmq.conf:/etc/rabbitmq.conf -v /home/mxy/.erlang.cookie:/var/lib/rabbitmq/.erlang.cookie  --add-host rabbitmq1:服务1的ip --restart unless-stopped rabbitmq

10、从Docker上拉取的镜像是阉割版的,所以要手动安装Web插件。进入容器

docker exec -it 容器id /bin/bash

11、启动插件

rabbitmq-plugins enable rabbitmq_management

12、访问rabbitmq页面 

13、查看节点

14、使rabbitmq2加入rabbit@rabbitmq1节点

  1. docker exec -it rabbitmq2 /bin/bash
  2. rabbitmqctl stop_app
  3. rabbitmqctl reset
  4. rabbitmqctl join_cluster --ram rabbit@rabbitmq1
  5. rabbitmqctl start_app

15、再次查看节点

16、测试在其中一个mq中添加队列另一个也可以看到

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/981666
推荐阅读
相关标签
  

闽ICP备14008679号