RabbitMq详解之使用Docker搭建集群

本文详细介绍了如何使用Docker快速搭建RabbitMQ集群,包括安装步骤、端口配置、ErlangCookie一致性及集群加入方法,最后验证集群状态并提供常见问题解决建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 使用Docker搭建RabbitMq集群还是非常方便的,下面就正式来搭建一下,关于涉及到的docker命令可以在我的另一篇文章中查看,在写docker那篇文章

搭建RabbitMq一共只需要两步,第一步:安装rabbitmq       第二步:将rabbirMq节点加入到集群

第一步:

docker run -d --hostname rabbit1 --name myrabbit1 -p 15672:15672 -p 5672:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq:3.6.15-management       (RabbitMq1)

docker run -d --hostname rabbit2 --name myrabbit2 -p 5673:5672 --link myrabbit1:rabbit1 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq:3.6.15-management  (RabbitMq2)

 docker run -d --hostname rabbit3 --name myrabbit3 -p 5674:5672 --link myrabbit1:rabbit1 --link myrabbit2:rabbit2 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq:3.6.15-management (RabbitMq3)

 关于参数的说明,如果使用云服务器一定要将安全组对应的端口号打开,否则是无法访问的

  • -d 后台进程运行
  • hostname RabbitMQ主机名称
  • name 容器名称
  • -p port:port 本地端口:容器端口
  • -p 15672:15672 http访问端口
  • -p 5672:5672 amqp访问端口

RABBITMQ_ERLANG_COOKIE='rabbitcookie'

关于这个参数的设置,如果不使用docker安装的话,一定会安装erlang,因为rabbitmq服务器是基于erlang语言编写的,所以要将同一个集群的cookie值设置为一样,代表在同一个集群,那么如果原来你有几个单独的rabbitmq,现在想做成集群,就必须要使cookie一样,我们可以使用docker logs +容器id查看cookie所在的文件夹位置。所以Erlang Cookie的全部路径就是“/var/lib/rabbitmq/.erlang.cookie”。 就可以使用docker cp 命令复制文件。

现在现在所有的节点已经搭建完毕,这里可以使用 docker ps 查看一下容器是否运行,如果没有运行,使用docker start +容器id 运行容器

第二步:将节点加入到集群

docker exec -it myrabbit1 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
exit     (节点1)

docker exec -it myrabbit2 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbit1
rabbitmqctl start_app
exit   (节点二)

docker exec -it myrabbit3 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbit1
rabbitmqctl start_app
exit   (节点3)

现在集群就已经搭建完毕,可以到web界面查看,默认账号密码为guest/guest,设置账号密码也在另一篇文章中写到了,写docker的那篇

如有错误请及时联系纠正!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值