(3)MongoDB 副本集運維策略

2021-10-03 17:13:47 字數 1844 閱讀 4092

前文傳送門

解鎖mongodb replica set核心姿勢

mongodb副本集自動故障轉移全流程原理

副本集不僅能幫助資料庫從節點故障/網路分割槽中快速恢復,而且使您能夠執行運維任務而不會影響高可用性。

本文聊一聊 mongodb 副本集運維視窗期的操作策略,最大程度地減少主節點不可用的時間。

mongodb 副本集的維護/公升級通常以滾動方式執行,依次在輔助節點上執行維護,而最後執行主節點維護。

在輔助節點上停止mongodb服務,執行運維操作

在伺服器上啟動mongodb服務

等待節點的mongodb同步到最新的oplog(追趕)

在副本集中的其他輔助節點上重複上述操作

假定乙個副本集包含mon01(主節點),mon02(輔助)mon03(輔助),滾動運維通常需要:

先後在輔助節點mon03、mon02上進行維護

將主節點mon01降級(stepdown),等待選舉新主節點,比如說mon02

在以前的主節點mon01上執行維護

如果主伺服器意外終止/大多數輔助節點覺得與主節點失聯,則輔助節點會在丟失心跳10秒鐘後要求進行選舉。

退出(stepdown)主節點可加快故障轉移過程,建議使用stepdown命令退出主節點以強制觸發選舉,而不是關閉(shutdownserver)主資料庫 (輔助節點需花時間識別主節點失聯)

減少electiontimeoutmillis閾值

輔助節點認定主節點失聯的預設閾值是10s, 在滾動維護期間我們可人為縮短這個閾值,加快選舉。但是運維完畢,請恢復這個預設設定。

rs.ismaster().me

// mon02:27000

// rs0:primary>

// on the new primary

var conf = rs.conf()

conf.settings.electiontimeoutmillis=10000

/*rs.reconfig(conf)

}}*/

10s的閾值是合適的,我們要確保集群能夠忽略和忍耐網路抖動或網路延遲, 減少不必要的重選。

一般情況下,會根據如下因素選擇 主節點

若想指定某輔助節點mon02為下乙個主節點,在其他輔助節點上執行rs.freeze(60)凍結它們成為主節點的資格;當你stepdown主節點mon01時,輔助節點mon02是唯一可以選擇的主節點,這將加快選舉速度。

或您可以通過給予副本集成員比其他成員更高的member [n] .priority值來使其成為主節點。

cfg = rs.conf()

cfg.members[0].priority = 0.5

cfg.members[1].priority = 0.5

cfg.members[2].priority = 1

rs.conf() 返回包含當前副本集配置的文件   

rs.sttaus() 返回副本集某成員視角收到的副本集狀態

rs.stepdown(stepdownsecs, secondarycatchupperiodsecs) 指示主節點退化為輔助節點,之後合格的輔助節點會發起選舉;另外並不是立即退化,等待指定時間確保有乙個節點與主節點保持最新同步。

rs.freeze(seconds) 在一定時間內凍結節點成為主節點的資格

rs.reconfig(configuration, force) 重新配置現有副本集,覆蓋現有副本集配置(需要連到主節點執行)

mysql副本集 MongoDB副本集

一 節點型別standard 常規節點,它儲存乙份完整的資料副本,參與選舉投票,有可能成為活躍節點。passive 儲存了完整的資料副本 一 節點型別 standard 常規節點,它儲存乙份完整的資料副本,參與選舉投票,有可能成為活躍節點。passive 儲存了完整的資料副本,參與投票,不能成為活躍...

mysql副本集 mongoDB副本集的搭建

環境簡介 192.168.1.151 fedoraserver 用作副本集的主庫,已經有資料 192.168.1.152 fedoraserver 從庫,空例項 192.168.1.153 fedoraserver 從庫,空例項 mongodb的副本集和mysql基於gtid的多源三例項迴圈主從即 ...

mongodb 系統 副本集

mongodb 系統 副本集 rm r data f mkdir data mkdir data mongodb data mkdir data mongodb log chown r richy data mongodb data chown r richy data mongodb log re...