基于前面的单机模式,我们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
消费端没有问题,可以继续订阅;
所有这种一主一从模式还是有问题;我们继续后面双主双从;
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/caoli201314/article/details/120361226
内容来源于网络,如有侵权,请联系作者删除!