- A+
所属分类:rocketmq
简介RocketMQ 出现 sendDefaultImpl call timeout,No route info of this topic: 问题
RocketMQ 出现 sendDefaultImpl call timeout 问题
出现此类问题,一般都是因为网络连接异常导致,比如 RocketMQ 和应用程序不在同一台服务器上,出现端口不通的情况,还有就是 RocketMQ 公网部署,连接超时出现
解决方案就是检查服务器端口连通情况(开放防火墙端口或临时关闭防火墙)
出现的另一个问题
No route info of this topic: testTopicSee http://rocketmq.apache.org/docs/faq/ for further details.
出现该问题一般是以下两种情况
-
broker 无法连接到 nameserver
-
broker 禁止自动创建 Topic,并且也没有手动创建 Topic 的情况
出现第一种情况,一般是在 docker 中部署会出现的情况,因为没有指定 IP,导致启动起来的 broker 是 docker 内网 IP
解决方案就是在 broker 的配置文件中,新增下面的参数
brokerIP1=你的内网IPlistenPort=10911
之后重新启动 broker 即可
第二种情况分两种解决方案,最简单的方式就是在 broker 的配置文件中,新增自动创建 topic 的配置
# 是否允许 Broker 自动创建Topic,建议线下开启,线上关闭 autoCreateTopicEnable=true# 是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭 autoCreateSubscriptionGroup=true
但是这种方案在生产环境不是很建议,如果只是测试调试,这种方案是最简单的。
另一种就是启动 broker 之后,手动创建 topic ,同样也可以解决