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()

 

posted on   太白金星有点烦  阅读(79)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示