【发布时间】:2017-07-13 21:40:15
【问题描述】:
我有一个使用 MongoDB v3.2.4 的三成员副本集。每个成员都是一个具有 8 个内核和 8GB RAM 的 VM,在正常操作中,这些节点的 CPU 和内存消耗非常低。
我有一个 60GB 的数据库(3000 万个文档),每月一次完全由用 Pig 编写的 Map/Reduce 作业重新加载。在此作业期间,集群接收 30k 插入/秒,并且在几分钟内辅助节点变得不同步。
当前 oplog 大小为 20GB(已从默认值修改)但这并不能解决复制同步问题。
我不知道再次修改 oplog 大小是否会有所帮助。我担心的是,复制似乎是在主节点上没有负载时完成的。由于我的插入作业持续 1 小时,这是否意味着我需要一个与我的数据库大小相同的 oplog?
有没有办法告诉 MongoDB 在复制上投入更多精力,并在接受插入和复制之间实现更平衡的工作负载?
【问题讨论】:
-
MongoDB 不会实时复制,但更多的是最终一致。如果主节点负载很大,则此延迟可能会延长。等待一段时间,看看辅助节点是否一致。
标签: mongodb apache-pig