0
点赞
收藏
分享

微信扫一扫

阿里云Mongodb出现异常Prematurely reached end of stream原因

亿奇学 2021-09-27 阅读 51

最近一个业务上线的时候涉及到mongodb,这个服务占用了7台服务器。上线的时候会有一小段时间发生
com.mongodb.MongoSocketReadException: Prematurely reached end of stream

但是这个异常只有几个服务器有,几个服务器是好的。(很重要的线索)

一时间没有思路,网上说是连接空闲时间太长被回收了客户端没有感知。

无意间发现阿里云文档有描述过该问题:
阿里云DataWorks文档

瞬间想起了是不是和白名单有关系,遂逐个排查,果然发现有几台服务器是没有在白名单范围内的。

然后联想到该事故一下子就清晰了,一开始我们的kakfa的topic分区只有一个,但是上了7台服务器,这个时候线上就开始报这个异常了,报着报着就不报了,原因就是kafka的消费者重新负载均衡了,因为当前消费者消费太慢了,mongo直接30秒超时。最终路由到了一台有白名单的服务器上坑此坑次执行了。

在使用云服务器的时候一定要注意白名单这个问题,其实可以通过172.19.189.0/24的形式涵盖内网所有网段,避免后续加了机器,忘记补充白名单了。

希望能帮助到在坑里徘徊的有缘人吧..阿门~

举报

相关推荐

0 条评论