mongodb添加延時節點


1.      簡介

   延時節點是主節點過去某個時間點的“數據快照”,通常用來做數據備份,如果主節點有誤操作而刪除了數據,可以通過延時節點來恢復數據。例如,當前時間是10:00,並且延時節點設置1個小時的延時同步,那么該節點不會同步1個小時內主節點上的操作。

2.      基本要求

2.1.        優先級

優先級必須設置為0,防止延時節點被選為主節點。

 

2.2.        隱藏節點

應該把延時節點設置為隱藏節點,這樣客戶端在做從服務器讀操作時,請求不會被分發到延時節點。

2.3.        可以選舉投票

在發生選舉時,該節點可以投票。

2.4.        延時時長

延時節點通過延時從opLog同步數據來實現,因此延時時長的設置需要考慮兩個因素:

  1. 不小於維護時間窗口
  2. 比opLog的容量要小一些,不然會不能同步而進入stale狀態

 

3.      延時節點設置

下面舉一個例子來說明如果設置延時節點。假定目前有一個包含5個節點的復制組:1個主節點、3個普通從節點、1個延時節點。延時節點的延時時長設置為3600s,並且它是一個優先級為0的隱藏節點,如下圖所示:

 

 

連接到復制組的主節點,然后配置:

>cfg = rs.conf()

cfg.members[1].priority = 0

cfg.members[1].hidden = true

cfg.members[1].slaveDelay = 3600

>rs.reconfig(cfg)

4.      注意事項

rs.reconfig()命令執行后,會強制當前的主節點下線,然后進行新的主節點選擇。主節點下線時,會關閉所有客戶端的連接,這個過程會持續10-20s,因此該操作應該在維護時間執行,減少對系統的影響。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM