搭建一个双主双从异步复制的Broker集群。为了方便,这里使用了两台主机来完成集群的搭建。
服务器准备 :
2 台服务器 ( 测试环境使用普通电脑或虚拟机 )
本教程台主机内网
serverA : 192.168.1.100 : master1 + Slave2
serverA : 192.168.1.102 : master2 + Slave1
打开 RocketMQ 的配置文件夹 :
2m-2s-async // 2主2从异步
2m-2s-sync // 2主2从同步
.....
打开 serverA 的 /rocketMQ/conf/2m-2s-async/broker-a.properties
修改配置
brokerClusterName=lessRocketMQ
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
namesrvAddr=172.17.16.198:9876;172.17.16.197:9876
打开 serverA 的 /rocketMQ/conf/2m-2s-async/broker-b-s.properties
brokerClusterName=lessRocketMQ
brokerName=broker-b
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
namesrvAddr=172.17.16.198:9876;172.17.16.197:9876
listenPort=11911
#存储路径
storePathRootDir=/rocketMQ/store-s
#commitLog 存储路径
storePathCommitLog=/rocketMQ/store-s/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/rocketMQ/store-s/consumequeue
#消息索引存储路径
storePathIndex=/rocketMQ/store-s/index
#checkpoint 文件存储路径
storeCheckpoint=/rocketMQ/store-s/checkpoint
#abort 文件存储路径
abortFile=/rocketMQ/store-s/abort
Server B 的配置类似 A。
1 启动2个服务器的 nameserver
nohup sh bin/mqnamesrv
2 启动2个服务器的主服务
nohup sh bin/mqbroker -c conf/2m-2s-async/broker-a.properties &
nohup sh bin/mqbroker -c conf/2m-2s-async/broker-b.properties &
nohup sh bin/mqbroker -c conf/2m-2s-async/broker-b-s.properties &
nohup sh bin/mqbroker -c conf/2m-2s-async/broker-a-s.properties &
3 通过 nohup.out 可以查看服务状态