1. 环境准备
下面我们将要部署双master双slave同步复制的RocketMQ集群,这里需要准备两个虚拟机。
192.168.10.50和192.168.22
2.下载rocketmq安装包(根据自己系统源地址下载)
wget http://mirror.bit.edu.cn/apache/rocketmq/4.4.0/rocketmq-all-4.9.2-bin-release.zip
3.建立数据储存区
mkdir date 以及子目录rocketmq
4.在conf下进入到 2m-2s-sync 目录下,修改里面的broker配置文件
192.168.10.50 机器上Master-Broker的配置文件 broker-a.properties
namesrvAddr=192.168.10.50:9876;192.168.10.22:9876
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerid=O
deleteWhen=04
fileReservedTime=48
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
listenPort=10911
#修改存储路径
storePathRootDir=/usr/local/data/rocketmq/store-a
storePathCommitLog=/usr/local/data/rocketmq/store-a
storePathConsumeQueue=/usr/local/data/rocketmq/store-a
storePathIndex=/usr/local/data/rocketmq/store-a
storeCheckpoint=/usr/local/data/rocketmq/store-a
abortFile=/usr/local/data/rocketmq/store-a
broker-b-s.properties文件
namesrvAddr=192.168.10.50:9876;192.168.10.22:9876
brokerClusterName=DefaultCluster
brokerName=broker-b
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
listenPort=11011
#修改存储路径
storePathRootDir=/usr/local/data/rocketmq/store-b
storePathCommitLog=/usr/local/data/rocketmq/store-b
storePathConsumeQueue=/usr/local/data/rocketmq/store-b
storePathIndex=/usr/local/data/rocketmq/store-b
storeCheckpoint=/usr/local/data/rocketmq/store-b
abortFile=/usr/local/data/rocketmq/store-b
然后再进入192.168.10.22下修改broker-b.properties
namesrvAddr=192.168.10.50:9876;192.168.10.22:9876
brokerClusterName=DefaultCluster
brokerName=broker-b
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
listenPort=10911
#修改存储路径
storePathRootDir=/data/rocketmq/store-b
storePathCommitLog=/data/rocketmq/store-b
storePathConsumeQueue=/data/rocketmq/store-b
storePathIndex=/data/rocketmq/store-b
storeCheckpoint=/data/rocketmq/store-b
abortFile=/data/rocketmq/store-b
broker-a-s.properties文件
namesrvAddr=192.168.10.50:9876;192.168.10.22:9876
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
listenPort=11011
#修改存储路径
storePathRootDir=/data/rocketmq/store-a
storePathCommitLog=/data/rocketmq/store-a
storePathConsumeQueue=/data/rocketmq/store-a
storePathIndex=/data/rocketmq/store-a
storeCheckpoint=/data/rocketmq/store-a
abortFile=/data/rocketmq/store-a
5.启动Nameserver和Broker
nohup sh bin/mqnamesrv &
然后分别启动4个Broker进程:
#在192.168.10.50上
nohup sh bin/mqbroker -c conf/2m-2s-sync/broker-a.properties &
nohup sh bin/mqbroker -c conf/2m-2s-sync/broker-b-s.properties &
#在192.168.10.22上
nohup sh bin/mqbroker -c conf/2m-2s-sync/broker-a-s.properties &
nohup sh bin/mqbroker -c conf/2m-2s-sync/broker-b.properties &
就这样,RocketMQ双主双从的集群就已经搭建好了,通过rocketmq-console的监控页面,可以看到如下的集群情况
6.查看集群情况
git地址
https://github.com/apache/rocketmq-dashboard.git
通过rocketmq-dashboard查看部署成功