2016-12-13 65 views
0

我有一個副本集,並釋放一些磁盤空間,我想重新同步我的副本集成員。重新同步Mongo副本集

因此,副本集的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數組中最高的人。

我真的想擺脫這個錯誤的消息。 這讓我害怕:-)

親切的問候

回答

0

我也有類似的問題,它的事實,心跳超時太短是因爲,你可以解決這個問題here