RocketMQ搭建集群步骤

[复制链接]

975

主题

975

帖子

629

积分

高级会员

Rank: 4

积分
629
分享到:
发表于 2022-7-29 13:29:08 | 显示全部楼层 |阅读模式
准备材料:Linux操作环境( 假设两台服务器ip为:192.168.74.130和192.168.74.131);RocketMQJDK 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使用 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.未指定日志文件路径或路径一致;

使用高级回帖 (可批量传图、插入视频等)快速回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则   Ctrl + Enter 快速发布  

发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。
快速回复 返回顶部 返回列表