实践RocketMQ 双Master-Slave 集群架构搭
发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,准备材料:Linux操作环境( 假设两台服务器ip为:192.168.74.130和192.168.74.131);RocketMQJDK 1.8+分别修改两台服务RockerMQ的配置文件,路径为:
千家信息网最后更新 2025年11月16日实践RocketMQ 双Master-Slave 集群架构搭
- 准备材料:
- Linux操作环境( 假设两台服务器ip为:192.168.74.130和192.168.74.131);
- RocketMQ
- JDK 1.8+
- 分别修改两台服务RockerMQ的配置文件,路径为:rocketmq-4.6.1/conf/2m-2s-async(这里以异步为例)
- broker-a.properties(broker a的Master配置文件) broker-a-s.properties(broker a的Slave配置文件)
broker-b.properties(broker b的Master配置文件) broker-b-s.properties(broker b的Slave配置文件)
130服务器修改 a的master 与 b 的slave配置文件,131服务器修改 b的master 与 a 的slave配置文件;
这里以130的配置文件为例:
master文件:brokerClusterName=DefaultCluster #broker 名称 brokerName=broker-a # broker id 0-Master 其他-Slave brokerId=0 deleteWhen=04 fileReservedTime=48 brokerRole=ASYNC_MASTER flushDiskType=ASYNC_FLUSH #namesrv地址列表,多个用,或;分割 namesrvAddr=192.168.74.130:9876;192.168.74.131:9876 #监听端口,默认为10911,多个broker 端口不能相同 listenPort=10911 #日志 同一台服务器上多个broker的配置路径不能为相同,否则报错:服务已经启动 storePathRootDir=/data/rocketmq/store/rootdir-a storePathCommitLog=/data/rocketmq/store/commitlog-aslave文件:
brokerClusterName=DefaultCluste brokerName=broker-b brokerId=1 deleteWhen=04 fileReservedTime=48 brokerRole=SLAVE flushDiskType=ASYNC_FLUS listenPort=10921 namesrvAddr=192.168.74.130:9876,192.168.74.131:9876 storePathRootDir=/data/rocketmq/store/rootdir-b-s storePathCommitLog=/data/rocketmq/store/commitlog-b-s
启动步骤
- 分别启动两台服务器的NameSrv (默认端口号为9876)
nohup sh bin/mqnamesrv &; - 分别启动两天服务器的master broker -c 参数指定启动时读取的配置文件的路径,不加读取默认的配置文件
nohup sh bin/mqbroker -c ./conf/2m-2s-async/broker-a.properties & //130上执行启动a broker的master
nohup sh bin/mqbroker -c ./conf/2m-2s-async/broker-b.properties & //131上执行启动b broker的master - 分别启动两台服务器的slave broker
nohup sh bin/mqbroker -c ./conf/2m-2s-async/broker-b-s.properties & //130上执行启动b broker的slave
nohup sh bin/mqbroker -c ./conf/2m-2s-async/broker-b.properties & //131上执行启动a broker的slave
- 分别启动两台服务器的NameSrv (默认端口号为9876)
使用 jps 命令进行查看服务是否启动
[root@localhost bin]# jps
5329 Jps
3161 NamesrvStartup
3401 BrokerStartup
4509 BrokerStartup到这里就成功的启动起来了。
- 其他命令
关闭broker : sh bin/mqshutdown broker
关闭namesrv:sh bin/mqshutdown namesrv - 问题总结:
1.启动broker时报jvm内存不足
原因:默认jvm 内存配置高于物理内存配置
解决方法:修改bin目录下runbroker.sh、runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m"
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
2.broker 无法注册另外一台namesrv
原因:- 网络不可达 (检查网络)
- 检查防火墙是否开启(关闭防火墙命令 systemctl stop firewalld)
3.启动多个broker时报broker已启动
原因:
1.启动时没有指定配置文件或未修改配置文件监听端口,导致端口冲突;
2.未指定日志文件路径或路径一致;
文件
配置
服务
服务器
路径
多个
端口
内存
原因
命令
相同
日志
时报
网络
防火墙
检查
监听
防火
一致
成功
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库可以存百分号吗
booking机票数据库
广东视频云空间技术云服务器
我国网络安全法的先后顺序
qw在软件开发中是什么意思
政府单位网络技术服务岗
迅雷办公网络技术有限公司
北哀邮电网络技术研究院
廉价又高速的网络技术是什么
工控网络安全解决方案供应商
游戏服务器故障怎么办
陕西电视电影视频道网络安全直播
翻咔服务器繁忙收不到验证码
苏州赛提思网络技术
聊城零基础学网络技术
软件开发变更控制管理
lol服务器进不去界面
网络安全进课堂总结
网络安全专题讲座的英语怎么写
z系列服务器
大疆御3 飞机安全数据库
智能家居家庭服务器
万网域名服务器地址
互联网软件科技有限公司官网
我的世界40人服务器组装
软件开发算法专利
怎么知道隐藏服务器ip
当前网络技术的核心是什么
cdb 数据库
网络安全漏洞管理规定是利好吗