Mongodb
mongo primary 顯示在主節點後面?
mongo primary 顯示在主節點後面??它隨著時間的推移而增加。請建議?
monRepl:PRIMARY> rs.printSlaveReplicationInfo() source: xxxxxx:27017 syncedTo: Mon Apr 27 2015 10:39:02 GMT+0530 (IST) **25835 secs (7.18 hrs) behind the primary** monRepl:PRIMARY> rs.status(); { "set" : "monRepl", "date" : ISODate("2015-04-27T12:20:38Z"), "myState" : 1, "members" : [ { "_id" : 3, "name" : "xxxxx:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 329104, "optime" : Timestamp(1430111629, 90), "optimeDate" : ISODate("2015-04-27T05:13:49Z"), "lastHeartbeat" : ISODate("2015-04-27T12:20:36Z"), "lastHeartbeatRecv" : ISODate("2015-04-27T12:20:37Z"), "pingMs" : 0, "syncingTo" : "yyyyyy:27017" }, { "_id" : 5, "name" : "xxxxxx:27017", "health" : 1, "state" : 7, "stateStr" : "ARBITER", "uptime" : 329104, "lastHeartbeat" : ISODate("2015-04-27T12:20:38Z"), "lastHeartbeatRecv" : ISODate("2015-04-27T12:20:37Z"), "pingMs" : 0 }, { "_id" : 6, "name" : "yyyyyyy:27017", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 579120, "optime" : Timestamp(1430137238, 300), "optimeDate" : ISODate("2015-04-27T12:20:38Z"), "electionTime" : Timestamp(1429808169, 7), "electionDate" : ISODate("2015-04-23T16:56:09Z"), "self" : true } ], "ok" : 1 }
我不知道我看到了問題。它在第二行顯示源數據是“源:xxxxxx:27017”,如果您進一步往下看,在狀態結果中,該伺服器實際上是輔助伺服器。所以我讀這個的方式(如果我錯了請告訴我)你是在主節點上送出命令,但它實際上是在查詢輔助節點並說它比主節點晚了 7 個多小時。然後你做一個狀態,它顯示具有相同時差的 optTimeDate 的副本集。
如果我要猜測,(這只是一個猜測)我會說兩台機器中的一台是通過 ntp 進行時間同步的,但另一台不是(並且仲裁器似乎與主伺服器匹配,所以它更有可能是時間同步的,這意味著您的輔助伺服器執行緩慢)。
來自MongoDB 文件(重點是我的)
rs.printSlaveReplicationInfo
:從副本集的次要成員的角度返回副本集狀態的格式化報告。輸出與 db.printSlaveReplicationInfo() 的輸出相同。
所以它表明你的中學比你的小學晚 7 小時。