【问题标题】:Data too stale, halting replication数据太陈旧,停止复制
【发布时间】:2014-07-07 21:08:52
【问题描述】:

我在 MongoDB 复制中遇到错误:数据太陈旧,正在停止复制。我试图从我的数据库中删除所有集合,但它不起作用。如何删除 oplog 以进行复制?我只需要复制工作即可。

谢谢。

【问题讨论】:

标签: mongodb replication


【解决方案1】:

阅读手册:http://docs.mongodb.org/manual/tutorial/resync-replica-set-member删除集合是不够的,你需要完成清除所有数据然后perform an initial sync

有两个高级选项(引自手册):

用一个空的数据目录重启mongod,让MongoDB的 正常的初始同步功能恢复数据。这是更 简单的选项,但替换数据可能需要更长时间。

使用最近的数据目录的副本重新启动机器 副本集中的另一个成员。这个程序可以替换数据 更快,但需要更多手动步骤。

【讨论】:

    【解决方案2】:

    你确实想删除你的oplog。您只需在辅助节点上停止 mongod 进程,删除辅助节点数据目录中的数据数据库文件,然后在辅助节点上启动 mongod。然后在所有受影响的辅助节点上执行此操作。

    正如用户 Zamnuts 指出的那样,您应该阅读名为“Resync a Member of a Replica Set”的 MongoDB 文档

    【讨论】:

      【解决方案3】:

      当 MongoDB 没有足够的 oplog 来带走进程时,就会发生陈旧。所以我建议两种方法:

      • stopping the application writes 的新数据目录开始辅助,这会减少 oplog 增长,因此有助于更好的初始同步。
      • 如果您不想停止应用程序写入,您必须increase the oplog size 表示当前大小。可以根据复制窗口计算 Oplog 大小。

      增加oplog:

      关闭主服务器

      use admin
      
      db.shutdownServer()
      

      以独立方式启动主服务器并在不同的端口上运行,例如 37017

      在 37017 端口登录 mongo

      mongo --port 37017
      

      删除本地数据库中的旧内容

      为了安全起见,在删除之前备份旧的 oplog

      mongodump --db local --collection 'oplog.rs' --port 37017
      

      删除本地数据库中的旧内容

      use local
      
      db.oplog.rs.drop()
      
      db.me.drop()
      
      db.replset.election.drop()
      
      db.replset.minvalid.drop()
      
      db.startup_log.drop()
      

      无法删除 Replset 集合,因此请使用所需的 id 将其删除:

      db.system.replset.remove({ "_id" : "your_replsetname"})
      

      创建一个所需大小的新 oplog,例如 50 GB

      db.runCommand( { create: "oplog.rs", capped: true, size: (50 * 1024 * 1024 * 1024) } )
      

      您还可以在 mongod.conf 文件中以 MB 为单位指定 oplog 大小,例如 50 GB 即 429496 MB

      replication:
         oplogSizeMB: 429496
      

      希望对你有帮助!!!

      【讨论】:

        猜你喜欢
        • 2014-11-22
        • 2019-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-15
        • 2019-01-23
        • 1970-01-01
        相关资源
        最近更新 更多