MongoDB集群故障-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

MongoDB集群故障

落地花开啦 2016-02-20 13:31:21 1657

1个MongoDB服务,分了2个sharding,每个sharding有3台机器:1个master和2个slave。全部服务如下所示,一共是4个Mongos、3个Mongo Config Server、2个仲裁节点和6个MongoD。
(S1M)Shard 1: Master, running MongoD and Config server
(S1S1)Shard 1-s1: Slave, running MongoD and MongoS server
(S1S2)Shard 1-s2: Slave, running MongoD and MongoS and Arbiter server
(S2M)Shard 2: Master, running MongoD and Config Server
(S2S1)Shard 2-s1: Slave, running MongoD and Config and MongoS server
(S2S2)Shard 2-s2: Slave, running MongoD and MongoS and Arbiter server
因为某种查不到的原因,MongoS开始陆续的挂掉。日志显示,其中S1M上面运行的MongoD被分配大量的连接,一段时间后导致too many open connections(8000),这个MongoD虽然在运行,但是已经无法连接,所以会导致Config Server无法连接此MongoD,最终导致MongoS一个一个的挂掉。
1
由上图可以,首先排除Shard Key异常。
Mongos最开始异常的时候可以连接,但是无法执行集合级别的查询:uncaught exception: error { "$err" : "socket exception", "code" : 11002 }。
Mongos完全挂掉的日志如下:
2
求大神帮助。

NoSQL MongoDB
分享到
取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 18:45:15

    根据描述4个Mongos, 我觉得不应该启动这么多个. 一般的2个足够。看你的架构, 应该是一个高可用的集群。提示的错误还真是游标问题。建议你重启集群,然后先启动一个mongos看看是不是能好一点.

    0 0
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题
推荐课程