加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

racketmq rocketmq.client.exception.MQClientException: Send [2] times, s

(2017-10-26 16:30:02)
      周三的时候碰到个racketmq的异常:
 com.alibaba.rocketmq.client.exception.MQClientException: Send [2] times, still failed, cost [4108]ms, Topic: lk_before_user_topic, BrokersSent: [broker-a, broker-b, null]
For more information, please visit the url, https://github.com/alibaba/RocketMQ/issues/64 
当时各种百度、谷歌都没用,加了个e.printStackTrace();打印堆栈信息后,还是没有看到什么可以定位错误的有用信息。因为代码好好的,上周六才上过线。当时都能正常的推送数据到consumer端消费,而https://github.com/alibaba/RocketMQ/issues/64 这个url也已经是404了,所以一直没定位到原因,最后看了下racketmq的源码,是因为超时了,才会这种。后来在异常日志中发现了另外的异常信息:
 Caused by: com.alibaba.rocketmq.remoting.exception.RemotingConnectExceptionconnect to <192.168.x.xxx:xxx> failed
at com.alibaba.rocketmq.remoting.netty.NettyRemotingClient.invokeSync(NettyRemotingClient.
at com.alibaba.rocketmq.client.impl.MQClientAPIImpl.sendMessageSync(MQClientAPIImpl.
at com.alibaba.rocketmq.client.impl.MQClientAPIImpl.sendMessage(MQClientAPIImpl.
at com.alibaba.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendKernelImpl(DefaultMQProducerImpl.
at com.alibaba.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendDefaultImpl(DefaultMQProducerImpl. 
这也证实了确实是在mq连接时,出现了异常,只是有点奇怪的是:我们当时mq配置的是mq1、mq2(IP、端口不是这个192.168.x.xxx:xxx),后来才确认是因为我们访问的远程mq的集群还有MQ3、MQ4、MQ5、MQ6,而抛出RemotingConnectExceptionconnect to <192.168.x.xxx:xxx> failed的这个IP+端口就是MQ3的IP、商品,而这个IP商品,我们的项目所在服务器没有访问权限。。。至少周六的时候为什么 又是能推送数据的,主要是因为我们配置的mq当时访问的是mq1、mq2里面的一台,所以没有出错,也这证明一件事:mq在访问时,是随机连接到远程mq的集群中的一台,而不是指定了namesrvAddr就是哪个地址。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有