10

我对 mongodb 还很陌生

我有一个副本集 3 个节点 1 个主节点 (A) 1 个辅助节点 (B) 1 个仲裁器 (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
            },
    

谢谢

问候

菲利普·库尔图瓦

4

4 回答 4

3

确保辅助节点至少具有与主节点相同或更低的优先级值。就我而言,我的次要优先级值高于主要优先级

你可以通过运行来检查这个

mongodcluster:PRIMARY> rs.conf()

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

于 2018-05-16T05:10:49.213 回答
1

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

尝试这样做

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

您可以找到更多信息:更改 Oplog 的大小

于 2017-08-21T22:31:18.333 回答
0

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

将它们添加到 /etc/hosts

a xxxx b xxxx c xxxx

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

于 2016-07-03T07:14:17.567 回答
0

这对我有用:

rs.syncFrom以主主机作为参数从辅助主机执行命令。就我而言,open5gs-mongodb-0.mongodb-svc:27017是主要的,open5gs-mongodb-1.mongodb-svc:27017也是次要的。因此,我从在辅助副本 ( ) 上运行的 mongod shell 执行了以下命令open5gs-mongodb-1.mongodb-svc:27017

rs0:SECONDARY> rs.syncFrom("open5gs-mongodb-0.mongodb-svc:27017")
{
    "syncFromRequested" : "open5gs-mongodb-0.mongodb-svc:27017",
    "prevSyncTarget" : "open5gs-mongodb-0.mongodb-svc:27017",
    "ok" : 1,
    "$clusterTime" : {
        "clusterTime" : Timestamp(1642373299, 1),
        "signature" : {
            "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
            "keyId" : NumberLong(0)
        }
    },
    "operationTime" : Timestamp(1642373299, 1)
}
于 2022-01-16T22:52:13.507 回答