关于SpringBoot使用Roocketmq报错No route info of this topic

发布于 2022-09-12 04:08:04 字数 2039 浏览 41 评论 0

第一次使用Roocketmq,我的程序放在本机上,Roocketmq放在阿里云的一台服务器上,我在主配置文件中配置了服务器公网ip和Roocketmq的topic,名为stock。但是在使用时出现错误:

org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, stock
服务器的Roocketmq是4.3.2,程序的Roocketmq是4.3.0版本,SpringBoot版本2.0.5

我开启Rocketmq的命令如下:
(1)开启NameServer

sh bin/mqnamesrv &
The Name Server boot success. serializeType=JSON

(2)开启mqbroker

nohup sh mqbroker -n localhost:9876 autoCreateTopicEnable=true &
#查看日志
tail -f ~/logs/rocketmqlogs/broker.log
#日志显示结果:
2020-08-11 00:08:41 INFO brokerOutApi_thread_4 - register broker to name server localhost:9876 OK
2020-08-11 00:09:11 INFO brokerOutApi_thread_1 - register broker to name server localhost:9876 OK
2020-08-11 00:09:41 INFO BrokerControllerScheduledThread1 - dispatch behind commit log 0 bytes
2020-08-11 00:09:41 INFO BrokerControllerScheduledThread1 - Slave fall behind master: 179890 bytes
2020-08-11 00:09:41 INFO brokerOutApi_thread_2 - register broker to name server localhost:9876 OK
2020-08-11 00:10:11 INFO brokerOutApi_thread_3 - register broker to name server localhost:9876 OK
2020-08-11 00:10:41 INFO BrokerControllerScheduledThread1 - dispatch behind commit log 0 bytes
2020-08-11 00:10:41 INFO BrokerControllerScheduledThread1 - Slave fall behind master: 179890 bytes
2020-08-11 00:10:41 INFO brokerOutApi_thread_4 - register broker to name server localhost:9876 OK
2020-08-11 00:11:11 INFO brokerOutApi_thread_1 - register broker to name server localhost:9876 OK

(3)通过下面命令查看发现存在名为stock的topic

sh mqadmin topicList -n localhost:9876

我在网上找到了同样的问题,
有的是说要查看防火墙,但我的防火墙是关闭的:

systemctl stop firewalld.service
Failed to stop firewalld.service: Unit firewalld.service not loaded.

有的说是要导入fastjson-1.2.29.jar,我也导入了。
我发现使用命令

sh mqadmin clusterList -n localhost:9876

显示出来的DefaultCluster的Addr字段是服务器的私网ip,不知道这是否是正确的?

想请教各位怎么解决?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

禾厶谷欠 2022-09-19 04:08:04

给的信息不够全哈。比如你的 rocketmq 配置到底是怎么样的。

根据作者提供的现有代码。以下是我的推测。

  1. broker 默认的端口是 10911. 请确认。阿里云开放的端口配置 是否有放开 10911 端口。

客户端是先从 namesrv 获取 broker 的地址。之后,都是直接跟 broker 通信的。所以放开 9876 还不够!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文