DocKer中下部署rabbitmq性能集群

本文详细介绍了如何在Docker环境下部署RabbitMQ集群。首先,确保所有节点在同一局域网并配置相同的Erlang cookie。接着,通过docker run命令创建并链接容器作为集群节点。每个节点都需要指定hostname、Erlang cookie,并使用--link选项连接其他节点。然后,通过rabbitmqctl命令将节点加入集群,可以设置为内存节点或默认的磁盘节点。最后,可以通过默认的guest用户访问集群管理界面。

rabbitmq集群中,各个rabbitmq为对等节点,即每个节点均提供给客户端连接,进行消息的接收和发送。节点分为内存节点和磁盘节点,一般的,均应建立为磁盘节点,为了防止机器重启后的消息消失;这几个节点需要在同一个局域网内;这几个节点需要有相同的erlang cookie,否则不能正常通信。

环境版本
linux发行版本:centos linux 7
linux内核:Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
docker:17.05.0-ce
rabbitmq:3.7.14
docker中安装RabbitMq

a.查找rabbitmq版本
 docker search RabbitMq

b.下载rabmitmq
 docker pull rabbitmq:3-management

如果下载带管理界面的用命令:docker pull rabbitmq:3-management
c.按装查看已下载到本地的rabmitmq安装文件
 docker images rabbitmq

a.集群机器安装rabbitmq
容器:myrabbit1

docker run -d --hostname rabbit1 --name myrabbit1 -p 15672:15672 -p 5672:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq:3-management



容器:myrabbit2

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

注意点:
多个容器之间使用“--link”连接,此属性不能少;
Erlang Cookie值必须相同,也就是RABBITMQ_ERLANG_COOKIE参数的值必须相同,原因见下文“配置相同Erlang Cookie”部分;

 

b.加入节点到集群

设置节点1

docker exec -it myrabbit1 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
exit

 

设置节点2

docker exec -it myrabbit2 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbit1
rabbitmqctl start_app
exit
参数“--ram”表示设置为内存节点,忽略次参数默认为磁盘节点。

f.浏览器访问http://10.1.7.202:15672默认创建了一个 guest 用户,密码也是 guest。
这下就有了两个节点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值