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

arrow
arrow
    全站熱搜

    痞客興 發表在 痞客邦 留言(0) 人氣()