MongoDB主機數量應為奇數(primary+secondary)
因為primary主機故障失聯時,主機群會進行選舉決定出那一個secondary出線替代成為primary
若主機數為偶數會有問題,可能產生無primary的情形
為解決此一問題,mongodb有另一個主機角色 arbiter,設定方法如下
arbiter主機端
#vi /etc/mongodb.conf
找到這一行 #replSet = xxxxx ,將 # 拿掉並於 = 後改為你所命名的群組,如下
replSet = mydb
更改完後將mongo 重新啟動,以載入新設定
#servcie mongodb restart
primary主機端加入arbiter
#mongo
mydb:PRIMARY> rs.addArb("mongodb-arbiter:27017")
Arbiter只會參與仲裁,並不備份資料,所以主機的規格並不需要很高,若環境中只有二台主機(1台primary及1台secondary),請分別於二台主機上皆安裝arbiter,為此為避免與原mongodb衝突,需另跑一mongodb並跑不同的port
全站熱搜