Replica Set 節點類型分爲三種:
- standard:常規節點,它存儲一份完整的數據副本,參與選舉投票,有可能成爲primary節點;
- passive:存儲了完整的數據副本,參與投票,不能成爲primary節點;
- arbiter:仲裁節點,只參與投票,不接收復制的數據,也不能成爲primary節點。
本文配置使用2個常規節點和一個arbiter節點,arbiter節點由於不同步數據,所以負載會很小,部署對硬件沒有太大的要求。
假設192.168.1.211、192.168.1.212爲常規節點,192.168.1.68爲arbiter節點。三個節點上的mongodb都是用下面的配置文件,文件存放在/etc/mongodb.cnf:
其中replSet 的 Id 爲 test,這個值對應initiate中的”_id”,使用rest參數後可以在web管理界面中顯示Replica Set中其他mongodb實例的信息。
使用命令
分別啓動三個機器上的mongodb實例,使用mongodb客戶端登陸兩個常規節點中的任何一個,執行如下命令:
可以使用rs.conf()查看配置情況,rs.status()查看各個節點的狀態,經過一小段時間後,他們會選一臺作爲PRIMARY,其他的常規節點爲SECONDARY,同時在js shell中看到提示符從“>”變爲對應的 “PRIMARY>” 或 “SECONDARY>” 或 “ARBITER>”。可以在PRIMARY是通過rs.stepDown()來切換PRIMARY,執行此命令後會在剩餘的常規節點選一個來充當PRIMARY。
關於初始化中配置members的其他可選參數,可以到官網上查看,地址:http://www.mongodb.org/display/DOCS/Replica+Set+Configuration