7.使用inital sync解决Oplog严重落后的问题
使用inital sysnc解决Oplog严重落后的问题
虽然,可以通过增大oplog集合的大小,让复制集节点拥有充足的时间、磁盘空间同步操作日志,最终实现数据一致性。
但是,由于网络故障或节点本身的故障,当节点长时间不在线时,节点中的Oplog集合数据将远远落后于Primary节点中的Oplog集合数据,即使网络或节点恢复正常,也可能出现Primary节点中的写操作日志还未被复制过去就被覆盖了。也就是说,出现故障的节点不可能追上Primary节点中最新修改的数据。
当出现这种现象时,用户只能手动干预,可以通过初始化数据同步(initial sync)模式完整执行一遍数据同步。
Mongodb支持以下两种模式的初始化数据同步。
- 第1种模式:手动清空Mongodb数据目录,重启mongod进程,让Mongodb自动执行initial sync,这种模式操作简单,如果同步的数据量较大,则需要消耗较长的时间
- 第2种模式:手动清空Mongodb数据目录,从拥有最新数据的某个节点上,将数据目录下的所有子文件或子文件夹复制过来,再启动Mongod进程,这种模式需要较多的手动操作,但会更快地完成数据同步。
这里涉及的几个命令:
#停止mongod服务端 >use admin >db.shutdownServer()
分类:
redis之企业级解决方案
, Monogo复制集
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?