当前位置:   article > 正文

基于Docker部署RabbitMQ集群_docker rabbitmq 集群

docker rabbitmq 集群

一、使用集群的原因

使用集群的原因

最开始我们介绍了如何安装及运行 RabbitMQ 服务, 不过这些是单机版的, 无法满足目前真实应用的要求. 如果 RabbitMQ 服务器遇到内存崩溃、机器掉电或者主板故障等情况, 该怎么办 单台 RabbitMQ 服务器可以满足每秒 1000 条消息的吞吐量, 那么如果应用需要 RabbitMQ 服务满足每秒 10 万条消息的吞吐量呢 购买昂贵的服务器来增强单机 RabbitMQ 的性能显得捉襟见肘, 搭建一个RabbitMQ 集群才是解决实际问题的关键 .

二、集群搭建

第一步、查看本地所有的镜像

[root@HgwServer ~]# docker images
  • 1

在这里插入图片描述

第二步、创建映射数据卷目录

创建文件夹 :

[root@HgwServer soft]# pwd
/home/soft
[root@HgwServer soft]# mkdir rabbitmqcluster
[root@HgwServer soft]# cd rabbitmqcluster
[root@HgwServer rabbitmqcluster]# mkdir rabbitmq01 rabbitmq02 rabbitmq03
  • 1
  • 2
  • 3
  • 4
  • 5

创建数据卷 :

[root@HgwServer rabbitmqcluster]# docker volume create rabbit01
[root@HgwServer rabbitmqcluster]# docker volume create rabbit02
[root@HgwServer rabbitmqcluster]# docker volume create rabbit03
  • 1
  • 2
  • 3

查看指定 数据卷 的信息

docker inspect 数据卷的名称
  • 1

复制红框内的目录
在这里插入图片描述

第三步、启动rabbitmq容器

[root@HgwServer rabbitmqcluster]# docker run -d --hostname rabbitmq01 --name rabbitmqCluster01 -v /var/lib/docker/volumes/rabbit01/_data -p 15672:15672 -p 562:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie' rabbitmq:3.8.14-management

[root@HgwServer rabbitmqcluster]# docker run -d --hostname rabbitmq02 --name rabbitmqCluster02 -v /var/lib/docker/volumes/rabbit02/_data -p 15673:15672 -p 563:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie'  --link rabbitmqCluster01:rabbitmq01 rabbitmq:3.8.14-management

[root@HgwServer rabbitmqcluster]# docker run -d --hostname rabbitmq03 --name rabbitmqCluster03 -v /var/lib/docker/volumes/rabbit03/_data -p 15674:15672 -p 564:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie'  --link rabbitmqCluster01:rabbitmq01 --link rabbitmqCluster02:rabbitmq02  rabbitmq:3.8.14-management
  • 1
  • 2
  • 3
  • 4
  • 5

主要参数 :

  1. -p 15672:15672 management 界面管理访问端口
  2. -p 5672:5672 amqp 访问端口
  3. --link 容器之间连接
  4. Erlang Cookie 值必须相同,也就是一个集群内 RABBITMQ_ERLANG_COOKIE 参数的值必须相同。因为RabbitMQ 是用Erlang实现的,Erlang Cookie 相当于不同节点之间通讯的密钥,Erlang节点通过交换 Erlang Cookie 获得认证。
    启动容器成功后,读者可以访问
    自己的ip+15672,
    账号/密码:guest / guest

第四步、加入RabbitMQ节点到集群

  1. 设置节点1 :
[root@HgwServer rabbitmqcluster]# docker exec -it rabbitmqCluster01 bash
root@rabbitmq01:/# rabbitmqctl stop_app
root@rabbitmq01:/# rabbitmqctl reset
root@rabbitmq01:/# rabbitmqctl start_app
root@rabbitmq01:/# exit
  • 1
  • 2
  • 3
  • 4
  • 5
  1. 设置节点2 , 加入到集群 :
[root@HgwServer rabbitmqcluster]# docker exec -it rabbitmqCluster02 bash
root@rabbitmq02:/# rabbitmqctl stop_app
root@rabbitmq02:/# rabbitmqctl reset
root@rabbitmq02:/# rabbitmqctl join_cluster --ram rabbit@rabbitmq01
root@rabbitmq02:/# rabbitmqctl start_app
root@rabbitmq02:/# exit
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  1. 设置节点3 , 加入到集群 :
[root@HgwServer rabbitmqcluster]# docker exec -it rabbitmqCluster03 bash
root@rabbitmq03:/# rabbitmqctl stop_app
root@rabbitmq03:/# rabbitmqctl reset
root@rabbitmq03:/# rabbitmqctl join_cluster --ram rabbit@rabbitmq01
root@rabbitmq03:/# rabbitmqctl start_app
root@rabbitmq03:/# exit
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

主要参数 :

--ram 表示设置为内存节点,忽略次参数默认为磁盘节点。该配置启动了3个节点,1个磁盘节点和2个内存节点。

执行上述操作
这时候 再查看 ip:15672
这时候 再查看 ip:15673
这时候 再查看 ip:15674
在这里插入图片描述

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

闽ICP备14008679号