Replication

Mongodb副本配置slaveDelay但數據仍然立即同步

  • June 2, 2017

我已將 slaveDelay 設置為 600 秒,但是當主數據更改時,輔助數據會立即更改。這是帶有 2 個伺服器的 repl 的目前配置。

"members" : [
{
   "_id" : 0,
   "host" : “primary.host1:27017",
   "arbiterOnly" : false,
   "buildIndexes" : true,
   "hidden" : false,
   "priority" : 1,
   "tags" : {

   },
   "slaveDelay" : NumberLong(0),
   "votes" : 1
},
{
   "_id" : 1,
   "host" : “secondary.host2:27017",
   "arbiterOnly" : false,
   "buildIndexes" : true,
   "hidden" : true,
   "priority" : 0,
   "tags" : {

   },
   "slaveDelay" : NumberLong(600),
   "votes" : 1
}]

我不知道我哪裡出錯了,或者 slaveDelay 是如何工作的,因為輔助數據應該在 600s 之後更新。

如果輔助執行“初始同步”,它將首先到達主同步,但隨後它將“休眠”(本例為 600 秒)回退,之後,它將繼續同步 600 秒。

如果您觀察初始同步結束時發生的情況,您可以在 mongod.log 中看到 (sleep)。在那次睡眠之後,如果你在 opLog 中查看“最後一個”文件,它的時間戳是 600 秒。當然,您也可以通過 rs.printSlaveReplicationInfo() 看到這一點。

引用自:https://dba.stackexchange.com/questions/175240