RocketMQ 出现 sendDefaultImpl call timeout 问题

  • 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.

出现该问题一般是以下两种情况

  1. broker 无法连接到 nameserver 

  2. broker 禁止自动创建 Topic,并且也没有手动创建 Topic 的情况

出现第一种情况,一般是在 docker 中部署会出现的情况,因为没有指定 IP,导致启动起来的 broker 是 docker 内网 IP

解决方案就是在 broker 的配置文件中,新增下面的参数

brokerIP1=你的内网IPlistenPort=10911

之后重新启动 broker 即可

第二种情况分两种解决方案,最简单的方式就是在 broker 的配置文件中,新增自动创建 topic 的配置

# 是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true# 是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true

但是这种方案在生产环境不是很建议,如果只是测试调试,这种方案是最简单的。

另一种就是启动 broker 之后,手动创建 topic ,同样也可以解决

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: