关闭其中一个 mongodb 碎片成员的电源会导致其他 CPU 提高 100%。
背景:我想在多个 ESXi 上部署一个 mongodb 集群。群集必须抵抗两个组件关闭。
集群架构:蒙戈4.2
- 5 个配置服务器
- 3 个查询服务器
- 分片01:
- 主要
- 2 中学
- 2 仲裁者
- 分片02:
- 主要
- 2 中学
- 2 仲裁者
问题:
每当我通过删除其中一个成员来测试 HA 时。几分钟后,我注意到其余成员面临 CPU 峰值到 100%,直到我返回丢失的成员。
我进行的测试:
- 关闭 1 个副本 -> 个成员 CPU 提高到 100% 关闭 1 个
- 副本和 1 个仲裁节点 -> 个成员 CPU 提高到 100%
- 关闭 1 个仲裁程序 -> 成员正常
我已经检查过的事情:
- 在检查有问题的虚拟机时,我注意到 mongod 是 消耗大部分 CPU 的服务 (99%(。
- 我用
db.currentOp()
检查了 mongod 的长时间运行时查询。一切看起来都很好。 - Mongod.log不包含任何可疑日志。
您应该禁用副本读取关注点"多数"。 https://docs.mongodb.com/manual/reference/read-concern-majority/#disable-read-concern-majority