mac下rocketmq各种集群模式搭建实战

本文详细介绍了在mac环境下如何搭建RocketMQ的多种集群模式,包括nameserver集群,以及单master、双master(无slave)、双master同步和异步模式。每个模式都包含配置修改、启动脚本创建和验证集群状态的步骤。此外,还提供了集群优化和监控的建议,包括使用rocketmq-console-ng进行监控。
摘要由CSDN通过智能技术生成


首先去rocketmq官网下载安装包,地址为: http://mirrors.hust.edu.cn/apache/rocketmq/4.3.2/rocketmq-all-4.3.2-bin-release.zip
将下载好的安装包rocketmq-all-4.3.2-bin-release.zip解压到/Users/conan/software目录下,解压命令为unzip rocketmq-all-4.3.2-bin-release.zip。
本文使用的jdk版本为:
在这里插入图片描述
下面开始进入实战:

0:搭建nameserver集群

说明:由于broker集群是需要依赖nameserver集群的,所以要首先搭建好nameserver集群。

第一步:将解压后的安装包复制一份并重命名为rocketmq-all-4.3.2_nameserver,目的是为了搭建rocketmq命名服务器,nameserver相当于zookeeper注册中心的角色。各个nameserver互相独立,可水平扩展。
第二步:在conf目录下新建两个文件,namesrv1.properties和namesrv2.properties。其中,
namesrv1.properties内容为:

listenPort=19876

namesrv2.properties内容为:

listenPort=29876

第三步:在rocketmq-all-4.3.2_nameserver根目录下新建start.sh文件,文件内容为:

echo "starting nameserver1"
nohup sh bin/mqnamesrv -c conf/namesrv1.properties &
echo "started nameserver1"
echo "starting nameserver2"
nohup sh bin/mqnamesrv -c conf/namesrv2.properties &
echo "started nameserver2"

第四步:执行脚本,sh start.sh即可将两个端口分别为19876和29876的nameserver服务启动起来。

经过以上四个步骤,nameserver集群就搭建好了。

1、单master模式

第一步:将解压后的安装包复制一份并重命名为rocketmq-all-4.3.2_single-m
第二步:修改配置文件conf/broker.conf的内容为:

#所属集群名字
brokerClusterName=rocketmq-cluster_single-m
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker_single-m
#0 表示 Master, >0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=192.168.1.18:19876;192.168.1.18:29876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=13911
#删除文件时间点,默认凌晨 0点
deleteWhen=00
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/Users/conan/rocketmq-4.3.2_single-m/data
#commitLog 存储路径
storePathCommitLog=/Users/conan/rocketmq-4.3.2_single-m/data/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/Users/conan/rocketmq-4.3.2_single-m/data/consumequeue
#消息索引存储路径
storePathIndex=/Users/conan/rocketmq-4.3.2_single-m/data/index
#checkpoint 文件存储路径
storeCheckpoint=/Users/conan/rocketmq-4.3.2_single-m/data/checkpoint
#abort 文件存储路径
abortFile=/Users/conan/rocketmq-4.3.2_single-m/data/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=ASYNC_MASTER
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128

第三步:在rocketmq-all-4.3.2_nameserver根目录下新建脚本文件start.sh,内容为:

echo "starting broker"
nohup sh bin/mqbroker -c conf/broker.conf &
echo "started broker"

第四步:执行脚本,sh start.sh即可启动broker。

2、双master模式(2m-noslave)

第一步:将解压后的安装包复制一份并重命名为rocketmq-all-4.3.2_2m-noslave
第二步:修改conf/2m-noslave/目录下的broker-a.properties和broker-b.properties文件,修改后的内容分别为:
broker-a.properties:

#所属集群名字
brokerClusterName=rocketmq-cluster-2m-noslave
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-a_2m-noslave
#0 表示 Master, >0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=192.168.1.18:19876;192.168.1.18:29876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=11911
#删除文件时间点,默认凌晨 0点
deleteWhen=00
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/Users/conan/rocketmq-4.3.2_2m-noslave-a/data
#commitLog 存储路径
storePathCommitLog=/Users/conan/rocketmq-4.3.2_2m-noslave-a/data/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/Users/conan/rocketmq-4.3.2_2m-noslave-a/data/consumequeue
#消息索引存储路径
storePathIndex=/Users/conan/rocketmq-4.3.2_2m-noslave-a/data/index
#checkpoint 文件存储路径
storeCheckpoint=/Users/conan/rocketmq-4.3.2_2m-noslave-a/data/checkpoint
#abort 文件存储路径
abortFile=/Users/conan/rocketmq-4.3.2_2m-noslave-a/data/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=ASYNC_MASTER
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128

broker-b.properties:

#所属集群名字
brokerClusterName=rocektmq-cluster_2m-noslave
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-b_2m-noslave
#0 表示 Master, >0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=192.168.1.18:19876;192.168.1.18:29876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=12911
#删除文件时间点,默认凌晨 0点
deleteWhen=00
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI绘画(可定制)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值