RocketMQ双主双从集群搭建

本文详细指导如何在 RocketMQ中实现2M-2S同步双写模式,涉及配置主节点master-a、slave-a,以及从节点master-b、slave-b,包括修改JVM内存、设置nameserver和broker属性。

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

主从采用同步双写,刷盘采用异步刷盘模式,参考集群(broker cluster)架构如下:

参考前面的RocketMQ集群搭建,上传RocketMQ源码包到各个服务节点,进行编译部署。由于机器内存限制,需要修改运行脚本(runbroker.sh runserver.sh)的默认jvm内存参。在部署broker前还需启动nameserver。

 一  部署master a

根据安装目录修正如下路径进入修改配置文件

/usr/local/java/rocketmq/rocketmq/distribution/target/apache-rocketmq/conf/2m-2s-sync/broker-a.properties
#nameserver地址填写实际部署访问地址,多个节点用;分割
namesrvAddr=192.168.50.138:9876;192.168.50.139:9876
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
defaultTopicQueueNums=4
#是否运行自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=false
#ਂؙ存储路径根据需求配置绝对路径,默认是在home目录下
#storePathRootDir=
#storePathCommitLog

启动主节点a

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

如果启动成功 则主节点a搭建完成。

二 部署slave a

 根据安装目录修正如下路径进入修改配置文件

/usr/local/java/rocketmq/rocketmq/distribution/target/apache-rocketmq/conf/2m-2s-sync/broker-a-s.properties
#nameserver地址填写实际部署访问地址,多个节点用;分割
namesrvAddr=192.168.50.138:9876;192.168.50.139:9876
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
defaultTopicQueueNums=4
#是否运行自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=false
#ਂؙ存储路径根据需求配置绝对路径,默认是在home目录
#storePathRootDir=
#storePathCommitLog

主节点a的从节点只是和主节点a在配置上brokerId不同,0代表主节点,其他代表从节点。

启动主节点a的从节点。

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

三 部署master b

  根据安装目录修正如下路径进入修改配置文件

/usr/local/java/rocketmq/rocketmq/distribution/target/apache-rocketmq/conf/2m-2s-sync/broker-b.properties
#nameserver地址填写实际部署访问地址,多个节点用;分割
namesrvAddr=192.168.50.138:9876;192.168.50.139:9876
brokerClusterName=DefaultCluster
brokerName=broker-b
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
#是否运行自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=false
#ਂؙ存储路径根据需求配置绝对路径,默认是在home目录
#storePathRootDir=
#storePathCommitLog

启动主节点b

nohup sh bin/mqbroker -c conf/2m-2s-sync/broker-b.properties &

四 部署slave b

根据安装目录修正如下路径进入修改配置文件

/usr/local/java/rocketmq/rocketmq/distribution/target/apache-rocketmq/conf/2m-2s-sync/broker-b-s.properties
#nameserver地址填写实际部署访问地址,多个节点用;分割
namesrvAddr=192.168.50.138:9876;192.168.50.139:9876
brokerClusterName=DefaultCluster
brokerName=broker-b
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
#是否运行自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=false
#ਂؙ存储路径根据需求配置绝对路径,默认是在home目录
#storePathRootDir=
#storePathCommitLog

启动主节点b的从节点

 nohup sh bin/mqbroker -c conf/2m-2s-sync/broker-b-s.properties &

集群搭建完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值