RocketMQ 搭建
安装包链接:
链接:https://pan.baidu.com/s/1ZmYdcwGORYe8fVMrxDX3Qg
提取码:7571
本文安装目录:/data/op/rocketmq-all-4.8.0-bin-release
部署准备:
ip地址 | 部署角色 | 模式 |
---|---|---|
10.10.80.176 | Nameserver1,Brokerserver1 | Maseter1 |
10.10.80.176 | Nameserver1,Brokerserver1 | Master2-Slave |
10.10.80.177 | Nameserver2,Brokerserver2 | Maseter2 |
10.10.80.177 | Nameserver2,Brokerserver2 | Master1-Slave |
10.10.80.178 | Trace | Trace |
修改/etc/hosts:
10.10.80.176 nameserver1
10.10.80.176 master1
10.10.80.176 master2-slave
10.10.80.177 nameserver2
10.10.80.177 master2
10.10.80.177 master1-slave
下载源码安装包:
wget https://archive.apache.org/dist/rocketmq/4.8.0/rocketmq-all-4.8.0-bin-release.zip
unzip rocketmq-all-4.8.0-bin-release.zip
10.10.80.176服务器操作:
手动创建存储路径 :
mkdir -p /data/op/rocketmq-all-4.8.0-bin-release/store/commitlog
mkdir -p /data/op/rocketmq-all-4.8.0-bin-release/store-s/commitlog
cd /data/op/rocketmq-all-4.8.0-bin-release/conf/2m-2s-async
修改broker-a.properties配置文件
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=nameserver1:9876;nameserver2:9876
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10911
haListenPort=10912
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=48
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#存储路径
storePathRootDir=/data/op/rocketmq-all-4.8.0-bin-release/store
#commitLog 存储路径
storePathCommitLog=/data/op/rocketmq-all-4.8.0-bin-release/store/commitlog
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=ASYNC_MASTER
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#强制指定本机IP,需要根据每台机器进行修改。官方介绍可为空,系统默认自动识别,但多网卡时IP地址可能读取错误
brokerIP1=10.10.80.176
#messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h
#描述了各级别与延时时间的对应映射关系。
# 这个配置项配置了从1级开始各级延时的时间,如1表示延时1s,2表示延时5s,14表示延时10m,可以修改这个指定级别的延时时间;
# 时间单位支持:s、m、h、d,分别表示秒、分、时、天;
# 默认值就是上面声明的,可手工调整;
# 默认值已经够用,不建议调整【仅供参考,还是根据实际需要调整。调整默认值时注意同时要修改时间对应的level级别的值】
messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h 3h 4h 5h 6h 7h 8h 9h 10h 11h 12h
修改broker-b-s.properties配置文件
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分号分割
namesrvAddr=nameserver1:9876;nameserver2:9876
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10923
haListenPort=10924
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=48
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#存储路径
storePathRootDir=/data/op/rocketmq-all-4.8.0-bin-release/store-s
#commitLog 存储路径
storePathCommitLog=/data/op/rocketmq-all-4.8.0-bin-release/store-s/commitlog
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SLAVE
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#强制指定本机IP,需要根据每台机器进行修改。官方介绍可为空,系统默认自动识别,但多网卡时IP地址可能读取错误
brokerIP1=10.10.80.176
#messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h
#描述了各级别与延时时间的对应映射关系。
# 这个配置项配置了从1级开始各级延时的时间,如1表示延时1s,2表示延时5s,14表示延时10m,可以修改这个指定级别的延时时间;
# 时间单位支持:s、m、h、d,分别表示秒、分、时、天;
# 默认值就是上面声明的,可手工调整;
# 默认值已经够用,不建议调整【仅供参考,还是根据实际需要调整。调整默认值时注意同时要修改时间对应的level级别的值】
messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h 3h 4h 5h 6h 7h 8h 9h 10h 11h 12h
10.10.80.177服务器操作:
手动创建存储路径 :
mkdir -p /data/op/rocketmq-all-4.8.0-bin-release/store/commitlog
mkdir -p /data/op/rocketmq-all-4.8.0-bin-release/store-s/commitlog
cd /data/op/rocketmq-all-4.8.0-bin-release/conf/2m-2s-async
修改broker-b.properties配置文件
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=nameserver1:9876;nameserver2:9876
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10911
haListenPort=10912
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=48
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#存储路径
storePathRootDir=/data/op/rocketmq-all-4.8.0-bin-release/store
#commitLog 存储路径
storePathCommitLog=/data/op/rocketmq-all-4.8.0-bin-release/store/commitlog
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=ASYNC_MASTER
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#强制指定本机IP,需要根据每台机器进行修改。官方介绍可为空,系统默认自动识别,但多网卡时IP地址可能读取错误
brokerIP1=10.10.80.177
#messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h
#描述了各级别与延时时间的对应映射关系。
# 这个配置项配置了从1级开始各级延时的时间,如1表示延时1s,2表示延时5s,14表示延时10m,可以修改这个指定级别的延时时间;
# 时间单位支持:s、m、h、d,分别表示秒、分、时、天;
# 默认值就是上面声明的,可手工调整;
# 默认值已经够用,不建议调整【仅供参考,还是根据实际需要调整。调整默认值时注意同时要修改时间对应的level级别的值】
messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h 3h 4h 5h 6h 7h 8h 9h 10h 11h 12h
修改broker-a-s.properties配置文件
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分号分割
namesrvAddr=nameserver1:9876;nameserver2:9876
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10923
haListenPort=10924
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=48
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#存储路径
storePathRootDir=/data/op/rocketmq-all-4.8.0-bin-release/store-s
#commitLog 存储路径
storePathCommitLog=/data/op/rocketmq-all-4.8.0-bin-release/store-s/commitlog
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SLAVE
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#强制指定本机IP,需要根据每台机器进行修改。官方介绍可为空,系统默认自动识别,但多网卡时IP地址可能读取错误
brokerIP1=10.10.80.177
#messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h
#描述了各级别与延时时间的对应映射关系。
# 这个配置项配置了从1级开始各级延时的时间,如1表示延时1s,2表示延时5s,14表示延时10m,可以修改这个指定级别的延时时间;
# 时间单位支持:s、m、h、d,分别表示秒、分、时、天;
# 默认值就是上面声明的,可手工调整;
# 默认值已经够用,不建议调整【仅供参考,还是根据实际需要调整。调整默认值时注意同时要修改时间对应的level级别的值】
messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h 3h 4h 5h 6h 7h 8h 9h 10h 11h 12h
启动Nameserver
10.10.80.176/177服务器操作:
cd /data/op/rocketmq-all-4.8.0-bin-release/bin
nohup sh mqnamesrv 2>&1 &
启动Broker
启动报错:
原因:内存不足
解决方案:
修改文件runserver.sh:
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=64m"
修改文件runbroker.sh:
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m"
10.10.80.176服务器操作:
cd /data/op/rocketmq-all-4.8.0-bin-release/bin
nohup sh mqbroker -c /data/op/rocketmq-all-4.8.0-bin-release/conf/2m-2s-async/broker-a.properties &
nohup sh mqbroker -c /data/op/rocketmq-all-4.8.0-bin-release/conf/2m-2s-async/broker-b-s.properties &
10.10.80.177服务器操作:
cd /data/op/rocketmq-all-4.8.0-bin-release/bin
nohup sh mqbroker -c /data/op/rocketmq-all-4.8.0-bin-release/conf/2m-2s-async/broker-b.properties &
nohup sh mqbroker -c /data/op/rocketmq-all-4.8.0-bin-release/conf/2m-2s-async/broker-a-s.properties &
10.10.80.178服务器操作:
cd /data/op/rocketmq-all-4.8.0-bin-release/conf/2m-2s-async/
修改broker-trace.properties配置文件
namesrvAddr=nameserver1:9876;nameserver2:9876
brokerClusterName=didapincheRMQCluster
brokerIP1=10.10.80.178
brokerName=dida-trace
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
storePathRootDir=/data/op/rocketmq-all-4.8.0-bin-release/store-trace
storePathCommitLog=/data/op/rocketmq-all-4.8.0-bin-release/store-trace/commitlog
listenPort=10912
messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h 3h 4h 5h 6h 7h 8h 9h 10h 11h 12h
autoCreateSubscriptionGroup=true
autoCreateTopicEnable=true
transientStorePoolSize=100
traceTopicEnable=true
启动Trace
cd /data/op/rocketmq-all-4.8.0-bin-release/bin/
nohup sh mqbroker -c /data/op/rocketmq-all-4.8.0-bin-release/conf/2m-2s-async/broker-trace.properties &
--
[root@k8s-slave1 bin]# jobs
[1]+ Running nohup sh mqbroker -c /data/op/rocketmq-all-4.8.0-bin-release/conf/2m-2s-async/broker-trace.properties &
验证:
[root@k8s-slave2 bin]# ./mqadmin ClusterList -n nameserver2: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
rocketmq-cluster broker-a 0 10.10.80.176:10911 V4_9_2 0.00(0,0ms) 0.00(0,0ms) 0 457585.42 0.0200
rocketmq-cluster broker-a 1 10.10.80.177:10923 V4_9_2 0.00(0,0ms) 0.00(0,0ms) 0 457585.42 0.0200
rocketmq-cluster broker-b 0 10.10.80.176:10911 V4_9_2 0.00(0,0ms) 0.00(0,0ms) 0 457585.42 0.0200
rocketmq-cluster broker-b 1 10.10.80.177:10923 V4_9_2 0.00(0,0ms) 0.00(0,0ms) 0 457585.42 0.0200
didapincheRMQCluster dida-trace 0 10.10.80.178:10912 V4_9_2 0.00(0,0ms) 0.00(0,0ms) 0 457585.42 0.0200
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· DeepSeek本地性能调优
· 一文掌握DeepSeek本地部署+Page Assist浏览器插件+C#接口调用+局域网访问!全攻略