mongodb:找不到要同步的成员

时间:2015-06-12 17:14:22

标签: mongodb replicaset

我对mongodb来说相当新鲜

我有一个副本集3个节点 1个小学(A) 1中学(B) 1 Arbiter(C)

副本集是使用MMS创建的 3节点位于3个不同的城市

我继续在辅助设备上获得以下错误,以免每次持续一秒

  1. 是正常的
  2. 如果不知道如何纠正它

           {
                    "_id" : 1,
                    "name" : "B:27017",
                    "health" : 1,
                    "state" : 2,
                    "stateStr" : "SECONDARY",
                    "uptime" : 1213371,
                    "optime" : Timestamp(1434051221, 1),
                    "optimeDate" : ISODate("2015-06-11T19:33:41Z"),
                    "infoMessage" : **"could not find member to sync from"**,
                    "configVersion" : 4,
                    "self" : true
            },
    
  3. 谢谢

    此致

    Philippe Courtois

3 个答案:

答案 0 :(得分:2)

确保辅助设备至少具有与主要或更低优先级相同的优先级值。在我的情况下,我的次要优先级值高于主要优先级

你可以通过运行

来检查
mongodcluster:PRIMARY> rs.conf()

https://docs.mongodb.com/manual/tutorial/adjust-replica-set-member-priority/

答案 1 :(得分:0)

您需要确保A,B,C在每个节点上解析。

将它们添加到/ etc / hosts

x.x.x.x. b x.x.x.x. c x.x.x.x

并在每个节点上执行此操作,然后重新启动mongod,这应该修复它

答案 2 :(得分:0)

愿你的oplog已满。您可以增加oplog大小。

尝试这样做

  1. 关闭主要
  2. 使用直接访问数据文件创建oplog的备份
  3. 以独立模式重启mongod
  4. 将当前的oplog复制到临时集合
  5. 删除当前的oplog
  6. 使用所需大小重新创建oplog
  7. 将oplog条目从临时集合复制回闪亮的新oplog
  8. 将mongod作为副本集的一部分重新启动
  9. 您可以在Change the Size of the Oplog

    上找到更多信息