开发者社区> 问答> 正文

MongoDB集群故障

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
求大神帮助。

展开
收起
落地花开啦 2016-02-20 13:31:21 3071 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

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

    2019-07-17 18:45:15
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Data as a Service - 数据即服务 -- MongoDB⾼级应⽤模式 立即下载
开源数据库 MongoDB 专场 MongoDB疑难杂症分析及优化 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载