[问题记录]-技术学习-RocketMQ-全球集群部署问题
2024-08-31 02:00:13
一:问题场景
公司在部署全球的RocketMQ的时候,遇到亚洲区的服务器往欧洲区的RocketMQ发送消息失败的情况。
总共有出现两个问题
1:No Topic Route Info
org.apache.rocketmq.client.exception.MQClientException: No route info for this topic, Producer_Test
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendSelectImpl(DefaultMQProducerImpl.java:920)
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:891)
at org.apache.rocketmq.client.producer.DefaultMQProducer.send(DefaultMQProducer.java:409)
2:connect to <xxx.xxx.xxx.xxx:10911> failed
org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <xxx.xxx.xxx.xxx:10911> failed
at org.apache.rocketmq.remoting.netty.NettyRemotingClient.invokeSync(NettyRemotingClient.java:388)
at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessageSync(MQClientAPIImpl.java:351)
at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessage(MQClientAPIImpl.java:335)
at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessage(MQClientAPIImpl.java:298)
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendKernelImpl(DefaultMQProducerImpl.java:696)
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendSelectImpl(DefaultMQProducerImpl.java:914)
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:891)
三:解决思路
1:问题一通过查看注册上的nameSrvAddr发现配置的host没有注册在/etc/hosts下面。导致无法解析地址,运维直接把地址改成IP后解决。
但理论上在/etc/hosts中配置上相应的hosts信息也是可以的。
2:问题2是报 brokerIP:brokerPort 连接不上。那么说明broker已经通过nameSrv成功寻址到了,只是寻址到的broker无法正常连接。
通过查看启动配置文件和broker的日志发现,注册的brokerIP是集群内网地址。那么问题就变成了服务器之间的通信问题了。
然后想到全球之间的IDC之间应该是没有互相通信的。问了一下运维,确实如此。亚洲区的集群和欧洲区的集群之间是没有通信的。
因此把broker配置文件里面的brokerIP改成 外网地址,重启一下,测试成功。
最新文章
- mvc action controller area
- DOM--3 DOM核心和DOM2 HTML(1)
- 百度地图API示例之设置地图显示范围
- [转]artDialog
- Android短信监听软件
- 点分治练习: boatherds
- 评论一下现有几个开源IM框架(Msn/QQ/Fetion/Gtalk...)
- Ch02 从零开始实例学习3
- hdu1495(bfs)
- 巩固java(一)----java与对象
- 【BZOJ3157/3516】国王奇遇记(数论)
- Unity3D动态生成多边形
- Nginx的进程模型及高可用方案(OpenResty)
- 【Entity Framework】Revert the database to specified migration.
- fabric-ca1.03安装
- render函数的简单使用
- Android-Kotlin-抽象类与多态的表现
- bzoj千题计划260:bzoj2940: [Poi2000]条纹
- Codeforces Round #540 Tanya and Candies 预处理
- Syntax error on token(s), misplaced construct(s)
热门文章
- bzoj——2982: combination
- RAC fail over 测试
- TDSTCPServerTransport 的Filters
- Open Flash Chart图表的JSON格式基本属性详解
- 微軟将弃用 System.Data.OracleClient
- Lucene.Net 与 盘古分词
- Scala入门到精通——第十五节 Case Class与模式匹配(二)
- Windows 注册表常用操作
- JQuery之操作array
- 装饰者模式的学习(c#) EF SaveChanges() 报错(转载) C# 四舍五入 保留两位小数(转载) DataGridView样式生成器使用说明 MSSQL如何将查询结果拼接成字符串 快递查询 C# 通过smtp直接发送邮件 C# 带参访问接口,WebClient方式 C# 发送手机短信 文件 日志 写入 与读取