重新同步Mongo副本集

时间:2016-12-13 08:31:53

标签: mongodb

我有一个副本集,为了释放一些磁盘空间,我想重新同步我的副本集成员。

因此,在副本集的SECONDARY成员上,我清空了保存数据库数据的/var/lib/mongodb/目录。

当我向复制集打开shell并执行命令rs.status()时,会显示以下内容。

{
    "set" : "rs1",
    "date" : ISODate("2016-12-13T08:28:00.414Z"),
    "myState" : 5,
    "term" : NumberLong(29),
    "heartbeatIntervalMillis" : NumberLong(2000),
    "members" : [ 
        {
            "_id" : 0,
            "name" : "10.20.2.87:27017",
            "health" : 1.0,
            "state" : 5,
            "stateStr" : "SECONDARY",
            "uptime" : 148,
            "optime" : {
                "ts" : Timestamp(6363490787761586, 1),
                "t" : NumberLong(29)
            },
            "optimeDate" : ISODate("2016-12-13T07:54:16.000Z"),
            "infoMessage" : "could not find member to sync from",
            "configVersion" : 3,
            "self" : true
        }, 
        {
            "_id" : 1,
            "name" : "10.20.2.95:27017",
            "health" : 1.0,
            "state" : 1,
            "stateStr" : "PRIMARY",
            "uptime" : 146,
            "optime" : {
                "ts" : Timestamp(6363490787761586, 1),
                "t" : NumberLong(29)
            },
            "optimeDate" : ISODate("2016-12-13T07:54:16.000Z"),
            "lastHeartbeat" : ISODate("2016-12-13T08:27:58.435Z"),
            "lastHeartbeatRecv" : ISODate("2016-12-13T08:27:59.447Z"),
            "pingMs" : NumberLong(0),
            "electionTime" : Timestamp(6363486827801739, 1),
            "electionDate" : ISODate("2016-12-13T07:38:54.000Z"),
            "configVersion" : 3
        }, 
        {
            "_id" : 2,
            "name" : "10.20.2.93:30001",
            "health" : 1.0,
            "state" : 7,
            "stateStr" : "ARBITER",
            "uptime" : 146,
            "lastHeartbeat" : ISODate("2016-12-13T08:27:58.437Z"),
            "lastHeartbeatRecv" : ISODate("2016-12-13T08:27:59.394Z"),
            "pingMs" : NumberLong(0),
            "configVersion" : 3
        }
    ],
    "ok" : 1.0
}

为什么我的辅助成员显示“无法找到要同步的成员,但是,我的主要成员已启动并正在运行。”

我的收藏是分片的,超过6台服务器,我在2个副本集成员上有这条消息。请求复制集状态时SECONDARY数组中members成员位于顶部的成员。

我真的想摆脱这条错误信息。 它吓到我了: - )

亲切的问候

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,这是因为心跳超时太短,你可以解决这个问题here