Rocket MQ 多主多从异步复制集群搭建

2021-03-07  本文已影响0人  CitizenA_

【摘要】RocketMQ 多主多从异步复制集群搭建。
参考:https://blog.csdn.net/momo898821/article/details/105386903

安装前准备

JDK8
RocketMQ 4.5.2

部署方式

RocketMQ有三种部署方式:
1、2m-2s-async。多主多从异步复制
2、2m-2s-sync。多主多从同步复制
3、2m-noslave。多主无从
本文介绍2m-2s-async多主多从异步复制集群安装方式,集群包含三台节点,各节点Broker分布情况:

节点 主服务 从服务
node1 broker-a broker-b-s
node2 broker-b broker-c-s
node3 broker-c broker-a-s
RocketMQ

1、解压 rocketmq-all-4.5.2-bin-release.zip

[root@ecs-5b25-0001 rocketmq-all-4.5.2-bin-release]# unzip  rocketmq-all-4.5.2-bin-release.zip
[root@ecs-5b25-0001 rocketmq-all-4.5.2-bin-release]# ll
total 44
drwxr-xr-x 2 root root  4096 Aug  2  2019 benchmark
drwxr-xr-x 3 root root  4096 Mar  7 17:24 bin
drwxr-xr-x 6 root root  4096 Jul 31  2019 conf
drwxr-xr-x 2 root root  4096 Aug  2  2019 lib
-rw-r--r-- 1 root root 17336 Jul 31  2019 LICENSE
-rw-r--r-- 1 root root  1338 Jul 31  2019 NOTICE
-rw-r--r-- 1 root root  4020 Jul 31  2019 README.md

添加环境变量到/etc/profile

export ROCKETMQ_HOME=/home/rocketmq/rocketmq-all-4.5.2-bin-release
export PATH=$PATH:$ROCKETMQ_HOME/bin

2、修改conf/2m-2s-async 下面的配置文件
我们要修改2m-2s-async目录下配置文件,按照三台节点分布情况,分别修改对应的配置文件
节点一:修改broker-a.properties、broker-b-s.properties
节点二:修改broker-b.properties、broker-c-s.properties
节点三:修改broker-c.properties、broker-a-s.properties
注:初始只有broker-a,broker-b四个文件,自行添加broker-c文件即可
broker-a.properties配置文件内容:

#集群名
brokerClusterName=Data-Cluster
#broker名字
brokerName=broker-a
#0 表示 Master, >0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=192.168.0.173:9876;192.168.0.32:9876;192.168.0.175:9876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=3
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10911
brokerIP1=192.168.0.175
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
#fileReservedTime=3600
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#文件磁盘最大利用率
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/home/rocketmq/data/store-a
#commitLog 存储路径
storePathCommitLog=/home/rocketmq/data/commitlog-a
#消费队列存储路径存储路径
storePathConsumeQueue=/home/rocketmq/data/consumequeue-a
#限制的消息大小
maxMessageSize=65536
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH

broker-a-s.properties配置文件内容:

#集群名
brokerClusterName=Data-Cluster
#broker名字
brokerName=broker-a
#0 表示 Master, >0 表示 Slave
brokerId=1
#nameServer地址,分号分割
namesrvAddr=192.168.0.173:9876;192.168.0.32:9876;192.168.0.175:9876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=3
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10920
brokerIP1=192.168.0.32
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
#fileReservedTime=3600
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#文件磁盘最大利用率
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/home/rocketmq/data/store-b
#commitLog 存储路径
storePathCommitLog=/home/rocketmq/data/commitlog-b
#消费队列存储路径存储路径
storePathConsumeQueue=/home/rocketmq/data/consumequeue-b
#限制的消息大小
maxMessageSize=65536
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH

broker-b.properties配置文件内容:

#集群名
brokerClusterName=Data-Cluster
#broker名字
brokerName=broker-b
#0 表示 Master, >0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=192.168.0.173:9876;192.168.0.32:9876;192.168.0.175:9876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=3
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=ture
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=ture
#Broker 对外服务的监听端口
listenPort=10911
brokerIP1=192.168.0.173
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
#fileReservedTime=3600
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#磁盘最大利用率
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/home/hadmin/data/rocketmq/store-b
#commitLog 存储路径
storePathCommitLog=/home/hadmin/data/rocketmq/commitlog-b
#消费队列存储路径存储路径
storePathConsumeQueue=/home/hadmin/data/rocketmq/consumequeue-b
#限制的消息大小
maxMessageSize=65536
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH

broker-b-s.properties配置文件内容:

#集群名
brokerClusterName=Data-Cluster
#broker名字
brokerName=broker-b
#0 表示 Master, >0 表示 Slave
brokerId=1
#nameServer地址,分号分割
namesrvAddr=192.168.0.173:9876;192.168.0.32:9876;192.168.0.175:9876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=3
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=ture
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=ture
#Broker 对外服务的监听端口
listenPort=10920
brokerIP1=192.168.0.175
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
#fileReservedTime=3600
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#磁盘最大利用率
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/home/rocketmq/data/store-b-s
#commitLog 存储路径
storePathCommitLog=/home/rocketmq/data/commitlog-b-s
#消费队列存储路径存储路径
storePathConsumeQueue=/home/rocketmq/data/consumequeue-b-s
#限制的消息大小
maxMessageSize=65536
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH

broker-c.properties配置文件内容:

#集群名
brokerClusterName=Data-Cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-c
#0 表示 Master, >0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=192.168.0.173:9876;192.168.0.32:9876;192.168.0.175:9876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=3
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=ture
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=ture
#Broker 对外服务的监听端口
listenPort=10911
brokerIP1=192.168.0.32
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
#fileReservedTime=3600
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#磁盘最大利用率
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/home/rocketmq/data/store-c
#commitLog 存储路径
storePathCommitLog=/home/rocketmq/data/commitlog-c
#消费队列存储路径存储路径
storePathConsumeQueue=/home/rocketmq/data/consumequeue-c
#限制的消息大小
maxMessageSize=65536
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH

broker-c-s.properties配置文件内容:

#集群名
brokerClusterName=Data-Cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-c
#0 表示 Master, >0 表示 Slave
brokerId=1
#nameServer地址,分号分割
namesrvAddr=192.168.0.173:9876;192.168.0.32:9876;192.168.0.175:9876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=3
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=ture
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=ture
#Broker 对外服务的监听端口
listenPort=10920
brokerIP1=192.168.0.173
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
#fileReservedTime=3600
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#磁盘最大利用率
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/home/rocketmq/data/store-c-s
#commitLog 存储路径
storePathCommitLog=/home/rocketmq/data/commitlog-c-s
#消费队列存储路径存储路径
storePathConsumeQueue=/home/rocketmq/data/consumequeue-c-s
#限制的消息大小
maxMessageSize=65536
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH

3、启动RoketMQ集群
启动nameserver,三台节点分别执行启动命令:

nohup sh mqnamesrv > /home/rocketmq/logsmqnamesrv.log 2>&1 &

节点一启动broker-a,broker-b-s

//启动broker-a
nohup sh mqbroker -c /home/rocketmq/rocketmq-all-4.5.2-bin-release/conf/2m-2s-async/broker-a.properties > /home/rocketmq/logs/mqbroker-a.log 2>&1 &
//启动broker-b-s
nohup sh mqbroker -c /home/rocketmq/rocketmq-all-4.5.2-bin-release/conf/2m-2s-async/broker-b-s.properties > /home/rocketmq/logs/mqbroker-b-s.log 2>&1 &

节点二启动broker-b,broker-c-s

//启动broker-b
nohup sh mqbroker -c /home/rocketmq/rocketmq-all-4.5.2-bin-release/conf/2m-2s-async/broker-b.properties > /home/rocketmq/logs/mqbroker-b.log 2>&1 &
//启动broker-c-s
nohup sh mqbroker -c /home/rocketmq/rocketmq-all-4.5.2-bin-release/conf/2m-2s-async/broker-c-s.properties > /home/rocketmq/logs/mqbroker-c-s.log 2>&1 &

节点三启动broker-c,broker-a-s

//启动broker-c
nohup sh mqbroker -c /home/rocketmq/rocketmq-all-4.5.2-bin-release/conf/2m-2s-async/broker-c.properties > /home/rocketmq/logs/mqbroker-c.log 2>&1 &
//启动broker-a-s
nohup sh mqbroker -c /home/rocketmq/rocketmq-all-4.5.2-bin-release/conf/2m-2s-async/broker-a-s.properties > /home/rocketmq/logs/mqbroker-a-s.log 2>&1 &

4、查看RoketMQ集群情况

[root@ecs-5b25-0001 ~]# mqadmin clusterList -n 192.168.0.173:9876
RocketMQLog:WARN No appenders could be found for logger (io.netty.util.internal.PlatformDependent0).
RocketMQLog:WARN Please initialize the logger system properly.
#Cluster Name     #Broker Name            #BID  #Addr                  #Version                #InTPS(LOAD)       #OutTPS(LOAD) #PCWait(ms) #Hour #SPACE
Data-Cluster      broker-a                0     192.168.0.175:10911    V4_5_2                   0.00(0,0ms)         0.00(0,0ms)          0 448643.22 -1.0000
Data-Cluster      broker-a                1     192.168.0.32:10920     V4_5_2                   0.00(0,0ms)         0.00(0,0ms)          0 448643.22 -1.0000
Data-Cluster      broker-b                0     192.168.0.173:10911    V4_5_2                   0.00(0,0ms)         0.00(0,0ms)          0 448643.22 -1.0000
Data-Cluster      broker-b                1     192.168.0.175:10920    V4_5_2                   0.00(0,0ms)         0.00(0,0ms)          0 448643.22 0.0897
Data-Cluster      broker-c                0     192.168.0.32:10911     V4_5_2                   0.00(0,0ms)         0.00(0,0ms)          0 448643.22 -1.0000
Data-Cluster      broker-c                1     192.168.0.173:10920    V4_5_2                   0.00(0,0ms)         0.00(0,0ms)          0 448643.22 0.0898

上一篇 下一篇

猜你喜欢

热点阅读