Rabbitmq搭建集群---普通,镜像

博客介绍了RabbitMQ普通集群和镜像集群的搭建方法。普通集群需在三台虚拟机上运行,保证cookie一致,将从节点加入主节点并查看状态,但主节点宕机从机无法获取消息;镜像集群可通过配置policy实现,针对队列做多节点复制,主节点宕机从节点仍可用。

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

搭建普通集群

注意,一定要在三台虚拟机上运行起来,可以看到管理界面,我最开始就是没有,搞了半天也不知道咋回事,然后我全部重来,先做到每台都能访问,然后在停掉,再后台启动,再。。。。

三台虚拟机(centos7)

#要修改主机名,并且在/etc/hosts里面配置映射
192.168.40.20      mq1
192.168.40.21      mq2
192.168.40.22      mq3

三台主机上rabbitmq的cookie一样,位置/var/lib/rabbirmq/.erlang.cookie

cat /var/lib/rabbitmq/.erlang.cookie#查看cookie
rabbitmq-server -detached   #后台启动rabbitmq(后台运行时这个时候是看不到web界面的)https://www.rabbitmq.com/clustering.html
rabbitmqctl cluster_status   #查看集群状态

搭建集群,把mq2和mq3加入到mq1上面

#以下三个步骤分别在mq2,mq3上面执行
rabbitmqctl stop_app #首先使用这个命令停掉mq2,mq3
rabbitmqctl reset  #再reset掉mq2,mq3(官网步骤)
rabbitmqctl join_cluster rabbit@rabbit1 #把mq2,mq3加入到mq1
rabbitmqctl start_app  #启动mq2,mq3

最后在查看集群状态rabbitmqctl cluster_status

Cluster status of node rabbit@mq2 ...
Basics

Cluster name: rabbit@mq1

Disk Nodes

rabbit@mq1
rabbit@mq2
rabbit@mq3

Running Nodes

rabbit@mq1
rabbit@mq2
rabbit@mq3

Versions

rabbit@mq1: RabbitMQ 3.8.9 on Erlang 23.1.5
rabbit@mq2: RabbitMQ 3.8.9 on Erlang 23.1.5
rabbit@mq3: RabbitMQ 3.8.9 on Erlang 23.1.5

Maintenance status

Node: rabbit@mq1, status: not under maintenance
Node: rabbit@mq2, status: not under maintenance
Node: rabbit@mq3, status: not under maintenance

在这里插入图片描述

搭建成功,普通集群的话主要还是靠主节点,如果主节点宕机了的话,从机是拿不到消息的,因为如果在从机上面消费,从机会去主机上面那消息提供消费者消费

镜像集群

镜像其实就是配置policy,大家可以去查一下有关policy的命令

rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all","ha-sync-mode":"automatic"}'
#"^"表示所有队列,"^hello"表示以hello开头的所有队列
#"ha-mode":"all"策略,表示所有节点都做镜像

在这里插入图片描述

在这里也可以用web界面的方式添加,如果参数不懂什么意思,可以点击?查看

镜像也就是针对队列,做多节点的复制,如果主节点宕机了从节点也是可以使用的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值