RocketMQ 之 ” No route info of this topic“

随手记:解决后会更新解决方案。
                没用过RocketMQ ,自己搞着玩时,在发送消息时后台报错“Caused by No route info of this topic”。


  1. 根据官方文档得到的原因
    1. 将消息发送到一个路由信息对生产者不可用的主题时,就会发生这种情况。
  2. 解决思路:
    1. 确保生产者可以连接到名称服务器并且能够从中获取路由元信息;
    2. 确保名称服务器确实包含主题的路由元信息。 您可以使用管理工具或 Web 控制台通过 TopicRoute 从名称服务器查询路由元信息;
    3. 确保您的 Broker 将心跳发送到您的生产者正在连接的同一 NameServer 列表;
    4. 确保主题的权限为6(rw-),或至少为2(-w-)---(我不是很理解==!) 
    如果找不到此主题,请通过管理工具命令updateTopic或Web控制台在Broker上创建它。

 嘿嘿嘿嘿嘿嘿嘿嘿嘿~~~~~~~~~~~傻笑一波。太尴尬了

事情是这样的这两天比较忙,就今天下午闲了一点,点了一根利群之后好好的看了下RocketMQ 的流程图如下:

因为我是第一次接触 RocketMQ,我总结下我的原因:

1、我本地直接双击 mqnamesrv.cmd 、mqbroker.cmd 启动的。(没有指定IP)

2、application.yaml 中也设置了 ’‘name-server: 127.0.0.1:9876’‘,这样是本地启动没问题的。

3、问题源头在这---》配置 Spring Cloud Stream 配置项 和 Binding 配置项 指定的name-server是另一个IP。从’127.0.0.1:9876’服务器中肯定找不到 Binding 配置项中配置的主题。


 解决方案:

1、我是要连接远程MQ服务器的,文件配置中肯定将相关的IP指定到远程IP。

2、CMD黑框进入MQ的bin文件夹中执行命令:(先启动mqnamesrv,后启动mqbroker)

                start mqnamesrv.cmd -n xxx.xxx.xx.xx:9876

                start mqbroker.cmd -n xxx.xxx.xx.xx:9876 

 总结一下子:原因就是不会这些东西,不知道流程怎么走的。哈哈哈哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值