RocketMQ报错: org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest
或者org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout
我的解决方法
-
检查版本:
我在linux安装的rocketMQ是4.7.1版本, 所以我也使用maven rocketmq-client:4.7.1版本的jar包 -
修改内存设置(默认4G内存,我是本地虚拟机运行的不足)
到安装目录下
cd /home/rocketmq-all-4.7.1-bin-release
修改两个
vim bin/runserver.sh
vim bin/runbroker.sh
修改部分: ${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m
-
运行mqnamesrv服务, 命令执行顺序如下:
到安装目录下
cd /home/rocketmq-all-4.7.1-bin-release
启动命令
nohup sh bin/mqnamesrv &
查看日志
tail -fn 100 ~/logs/rocketmqlogs/namesrv.log &
停止命令
nohup sh bin/mqshutdown namesrv -
运行broker服务, 命令执行顺序如下:
到安装目录下
cd /home/rocketmq-all-4.7.1-bin-release
修改ip地址, 默认是和docker一样的网关, 无法找到mqnamesrv服务
vim conf/broker.conf
增加最后一行,brokerIP1=192.168.110.159, 局域网地址,mqnamesrv的ip
启动broker
nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf autoCreateTopicEnable=true &
查看日志
tail -fn 100 ~/logs/rocketmqlogs/broker.log
停止命令
nohup sh bin/mqshutdown broker -
查看是否启动进程命令
netstat -nltp | grep java
namesrv端口是9876, broker端口有三个 10909, 10911, 10912
其他异常如磁盘内存不足, 需要扩容centos7内存的可以看下https://www.cnblogs.com/stormlong/p/12838194.html