栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

RocketMQ(No route info of this topic+connect to <172.22.235.159:10911> failed)

RocketMQ(No route info of this topic+connect to <172.22.235.159:10911> failed)

No route info of this topic+connect to <172.22.235.159:10911> failed

主要就是以上两个问题,这两个问题看了很多博客都没解决,终于找到了办法,搞了我好久;从下图中可以看到生产者需要定期的通过服务器的:9876端口来获取路由信息,并且生产者也需要通过broker的端口来进行消息的收发;所以我们需要保证生产者和这两者之间的正常连接;

正常的步骤

1、启动NameServer服务器
nohup sh bin/mqnamesrv &
tail -f ~/logs/rocketmqlogs/namesrv.log

2、启动broker
nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf &
tail -f ~/logs/rocketmqlogs/broker.log
The broker[%s, 172.30.30.233:10911] boot success…

第一个问题:我发现这边broker启动的时候这边的ip很奇怪,不是我自己的服务器ip,所以出现了connect to <172.22.235.159:10911> failed)这个问题,别人的当然连接失败;

第一个问题解决办法:
1、修改broker配置
vim /home/prod/rocketmq-all-4.3.0/distribution/target/apache-rocketmq/conf/broker.conf
brokerIP1=xx.xx.xx.xx # 你的公网IP (这是由于跨域造成的:)
2、重新启动并保证带上配置
nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf &

3、启动消息生产者

public class Product {
    public static void main(String[] args) throws MQClientException, RemotingException, InterruptedException, MQBrokerException {
        DefaultMQProducer producer = new DefaultMQProducer("group");
        producer.setNamesrvAddr("121.89.234.241:9876");
        producer.start();
        for (int i = 0; i < 10; i++) {
            Message message = new Message("orders",("order" + i).getBytes());
            SendResult result = producer.send(message);
            System.out.println(result);
            System.out.println(message + "send out");
            Thread.sleep(500);
        }
        producer.shutdown();
    }
}

第二个问题:No route info of this topic, orders;

解决办法:关闭防火墙systemctl stop firewalld,重新启动成功;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/746964.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号