RocketMQ报错: org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest

或者org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout

我的解决方法

  1. 检查版本:
    我在linux安装的rocketMQ是4.7.1版本, 所以我也使用maven rocketmq-client:4.7.1版本的jar包

  2. 修改内存设置(默认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
    org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest

  3. 运行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

  4. 运行broker服务, 命令执行顺序如下:
    到安装目录下
    cd /home/rocketmq-all-4.7.1-bin-release
    修改ip地址, 默认是和docker一样的网关, 无法找到mqnamesrv服务
    vim conf/broker.conf
    增加最后一行,brokerIP1=192.168.110.159, 局域网地址,mqnamesrv的ip
    org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest
    启动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

  5. 查看是否启动进程命令
    netstat -nltp | grep java
    namesrv端口是9876, broker端口有三个 10909, 10911, 10912

其他异常如磁盘内存不足, 需要扩容centos7内存的可以看下https://www.cnblogs.com/stormlong/p/12838194.html

相关文章: