原文链接:https://blog.51cto.com/4259679
集群由两个 name server 实例和四个 broker 实例组成
两台服务同时部署MQ,具体搭建请查看干货--部署RocketMQ
1、192.168.20.40服务器
[root@k8s-master ~]# mkdir /usr/local/rocketmq/store/
[root@k8s-master ~]# mkdir /usr/local/rocketmq/store/broker-a
[root@k8s-master ~]# mkdir /usr/local/rocketmq/store/broker-a/commitlog

[root@k8s-master ~]# mkdir /usr/local/rocketmq/store/broker-b
[root@k8s-master ~]# mkdir /usr/local/rocketmq/store/broker-b/commitlog
[root@k8s-master ~]# mkdir /usr/local/rocketmq/store/broker-as
[root@k8s-master ~]# mkdir /usr/local/rocketmq/store/broker-as/commitlog
[root@k8s-master ~]# mkdir /usr/local/rocketmq/store/broker-bs
[root@k8s-master ~]# mkdir /usr/local/rocketmq/store/broker-bs/commitlog
[root@k8s-master ~]# cd /usr/local/rocketmq/conf/2m-2s-sync/
[root@k8s-master 2m-2s-sync]# ls
broker-a.properties broker-a-s.properties broker-b.properties broker-b-s.properties
修改配置文件
[root@k8s-master 2m-2s-sync]# more broker-a.properties
brokerClusterName=rocketmq-cluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
listenPort=10911
storePathRootDir=/usr/local/rocketmq/store/broker-a
storePathCommitLog=/usr/local/rocketmq/store/broker-a/commitlog
[root@k8s-master 2m-2s-sync]# more broker-b-s.properties
brokerClusterName=rocketmq-cluster
brokerName=broker-b
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
listenPort=11911
storePathRootDir=/usr/local/rocketmq/store/broker-bs
storePathCommitLog=/usr/local/rocketmq/store/broker-bs/commitlog
[root@k8s-master 2m-2s-sync]#
2、192.168.20.430服务器
[root@k8s-node2 ~]# mkdir /usr/local/rocketmq/store/
[root@k8s-node2 ~]# mkdir /usr/local/rocketmq/store/broker-a
[root@k8s-node2 ~]# mkdir /usr/local/rocketmq/store/broker-a/commitlog
[root@k8s-node2 ~]# mkdir /usr/local/rocketmq/store/broker-b
[root@k8s-node2 ~]# mkdir /usr/local/rocketmq/store/broker-b/commitlog
[root@k8s-node2 ~]# mkdir /usr/local/rocketmq/store/broker-as
[root@k8s-node2 ~]# mkdir /usr/local/rocketmq/store/broker-as/commitlog
[root@k8s-node2 ~]# mkdir /usr/local/rocketmq/store/broker-bs
[root@k8s-node2 ~]# mkdir /usr/local/rocketmq/store/broker-bs/commitlog
[root@k8s-node2 ~]# cd /usr/local/rocketmq/conf/2m-2s-sync/
修改配置文件
[root@k8s-node2 2m-2s-sync]# grep -v "^#" broker-a-s.properties
brokerClusterName=rocketmq-cluster
brokerName=broker-a
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
listenPort=11911
storePathRootDir=/usr/local/rocketmq/store/broker-as
storePathCommitLog=/usr/local/rocketmq/store/broker-as/commitlog
[root@k8s-node2 2m-2s-sync]# grep -v "^#" broker-b.properties
brokerClusterName=rocketmq-cluster
brokerName=broker-b
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
listenPort=10911
storePathRootDir=/usr/local/rocketmq/store/broker-b
storePathCommitLog=/usr/local/rocketmq/store/broker-b/commitlog
3、启动服务
启动两个 name server
[root@k8s-master bin]# nohup sh mqnamesrv &
[1] 8048
[root@k8s-node2 bin]# nohup sh mqnamesrv &
[1] 8510
在192.168.20.40上启动 broker a 主服务器:
[root@k8s-master bin]# nohup sh mqbroker -n '192.168.20.40:9876;192.168.20.39:9876' -c /usr/local/rocketmq/conf/2m-2s-sync/broker-a.properties &
[2] 8099
[root@k8s-master bin]# nohup: ignoring input and appending output to ‘nohup.out’
在192.168.20.43上启动 broker a 从服务器:
[root@k8s-node2 bin]# nohup sh mqbroker -n '192.168.20.40:9876;192.168.20.39:9876' -c /usr/local/rocketmq/conf/2m-2s-sync/broker-a-s.properties &
[2] 8588
[root@k8s-node2 bin]# nohup: 忽略输入并把输出追加到"nohup.out"
在192.168.20.43上启动 broker b 主服务器:
[root@k8s-node2 bin]# nohup sh mqbroker -n'192.168.20.40:9876;192.168.20.39:9876' -c /usr/local/rocketmq/conf/2m-2s-sync/broker-b.properties &
[3] 8672
[root@k8s-node2 bin]# nohup: 忽略输入并把输出追加到"nohup.out"
在192.168.20.40上启动 broker b 从服务器:
[root@k8s-master bin]# nohup sh mqbroker -n '192.168.20.40:9876;192.168.20.39:9876' -c /usr/local/rocketmq/conf/2m-2s-sync/broker-b-s.properties &
[3] 8211
[root@k8s-master bin]# nohup: ignoring input and appending output to ‘nohup.out’
4、检查服务
确认两台服务上分别运行name server和两个broker。
192.168.20.40
192.168.20.43
结束MQ双主双从部署
----------------------end---------------------
推荐阅读: