16 Rocketmq集群一主一从同步搭建

Posted java1234_小锋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了16 Rocketmq集群一主一从同步搭建相关的知识,希望对你有一定的参考价值。

基于前面的单机模式,我们VM里面克隆一下系统;

192.168.0.110 机器 作为主节点

192.168.0.103 机器作为从节点

配置项要点:

  • brokerClusterName集群名称一样;

  • brokerName同一组主从节点名称一样;

  • brokerId为0表示Master主节点,非0表示Slave从节点;

所以,从节点机器,我们修改conf下的2m-2s-sync配置文件broker-a-s.properties

从原来的broker-a.properties复制一份内容到broker-a-s.properties,然后修改三个地方:

#0 表示 Master,>0 表示 Slave
brokerId=1
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SLAVE
namesrvAddr=192.168.0.110:9876;192.168.0.103:9876;

我们先把两台机器的nameserver启动起来:

192.168.0.110 主机器:

nohup sh mqnamesrv &

192.168.0.103 从机器

nohup sh mqnamesrv &

再把两台机器的broker启动起来:

192.168.0.110 主机器:

 nohup sh mqbroker -c /home/mq/rocketmq/conf/2m-2s-sync/broker-a.properties &

192.168.0.103 从机器

 nohup sh mqbroker -c /home/mq/rocketmq/conf/2m-2s-sync/broker-a-s.properties &

可视化控制台项目namesrvAddr配置改下:

启动控制台项目:

项目代码,生产端和消费端name-server都改下;

启动测试:

我们发现,消费消息都是从主节点broker消费;

我们模拟下,让主节点broker挂掉;

sh mqshutdown broker

启动项目生产端发送消息报错:

Exception in thread "main" org.springframework.messaging.MessagingException: No route info of this topic: java1234-rocketmq

消费端没有问题,可以继续订阅;

所有这种一主一从模式还是有问题;我们继续后面双主双从;

说明:这个是锋哥的RocketMQ备课笔记,等备课完,会发布配套的视频教程,如有需要,可以先加锋哥WX:java1239 欢迎白嫖

微信搜一搜公众号【java1234】关注这个放荡不羁的程序员,关注后回复【资料】有我准备的一线大厂笔试面试资料以及简历模板。

以上是关于16 Rocketmq集群一主一从同步搭建的主要内容,如果未能解决你的问题,请参考以下文章

17 Rocketmq集群双主双从同步搭建

主从复制:主从复制的概述一主一从架构搭建主从复制的原理同步数据一致性问题

部署:单主部署一主一从部署双主双从部署代码测试

mysql主从复制原理及一主一从搭建过程—2023.04

MHA 一主一从搭建

MongoDB v3.4.9集群设置一主一从