2016-07-20 26 views
5

我有具有副本集(託管在亞馬遜):MongoDB的複製品心跳請求時間超過

  • 初級
  • 次級
  • 仲裁者

所有這些都是3.2.6版本並且這個副本在我的分片集羣中創建了一個分片(如果這很重要,雖然我認爲它不重要)。

當我鍵入主rs.status()它說,不能達到二級(同樣的事情是仲裁者):

 { 
     "_id" : 1, 
     "name" : "secondary-ip:27017", 
     "health" : 0, 
     "state" : 8, 
     "stateStr" : "(not reachable/healthy)", 
     "uptime" : 0, 
     "optime" : { 
      "ts" : Timestamp(0, 0), 
      "t" : NumberLong(-1) 
     }, 
     "optimeDate" : ISODate("1970-01-01T00:00:00Z"), 
     "lastHeartbeat" : ISODate("2016-07-20T15:40:50.479Z"), 
     "lastHeartbeatRecv" : ISODate("2016-07-20T15:40:51.793Z"), 
     "pingMs" : NumberLong(0), 
     "lastHeartbeatMessage" : "Couldn't get a connection within the time limit", 
     "configVersion" : -1 
    } 

(順便說一句看optimeDate OO)

錯誤在我的日誌是:

[ReplicationExecutor] Error in heartbeat request to secondary-ip:27017; ExceededTimeLimit: Couldn't get a connection within the time limit 

奇怪的是,當我去中學和鍵入rs.status()一切l好吧。此外,我可以連接到從我的主要實例(與mongo --host secondary)次要,所以我想這不是網絡問題。昨天它一切正常。

TL; DR我的主要看不到輔助和仲裁看不到輔助,我的輔助看到主要,它是一切工作正常前一天,我可以手動連接到輔助從主實例。

任何人都有一個想法可能會出錯?

TNX, 伊萬

+1

這是什麼解決方案?我的optimeDate是一樣的。 – Richard

回答

0

看來二次optimeDate負責的錯誤,結識了這個錯誤optimeDate的原因,最好的辦法是考察二次機器當前日期時間,因爲它可以也是錯的。不知道你還在尋找答案,但optimedate是問題,而不是你的複製機之間的連接。