1.環境準備:副本集的集羣模式,至少要求3臺服務器mongodb
由圖能夠看到客戶端鏈接到整個副本集,不關心具體哪一臺機器是否掛掉。主服務器負責整個副本集的讀寫,副本集按期同步數據備份,一但主節點掛掉,副本節點經過心跳機制檢測到後,就會在集羣內發起主節點的選舉機制,自動選舉一位新的主服務器。json
2.下載mongodb,分別在3個服務器上安裝服務器
3.在mongodb安裝目錄下(如D:/mongodb),新建空文件data,新建log/mongodb.log文件,新建conf/config.properties文件。app
4.編寫conf/config.properties文件,配置信息以下:
dbpath=D:\mongodb\datajsonp
logpath=D:\mongodb\log\mongodb.logrem
port=27017 #mongodb端口cmd
logappend=同步
journal=it
jsonp=集羣
serviceName=MongoDB Server #mongodb服務名
serviceDisplayName=MongoDB Server replSet #mongodb顯示名稱
auth=false #auth:是否須要驗證;若是須要驗證要改成true
storageEngine=wiredTiger
wiredTigerCacheSizeGB=2
#副本集名稱
replSet=zdvictory
5.安裝並啓動服務命令
#安裝服務
D:\mongodb\bin>mongod.exe -config D:\mongodb\conf\config.properties --install
#啓動服務(可打開服務直接手動啓動)
D:\mongodb\bin>mongod.exe --dbpath D:\mongodb\data
6.在每臺機中,啓動MongoDB服務,任意選擇一臺機器登陸MongoDB(注意三臺mongodb必須都沒有使用過,即沒有數據,不然將沒法進行集羣)
打開cmd命令窗口
D:\mongodb\bin>mongo --port 27017
> use admin
switched to db admin
> config = {
"_id":"zdvictory",
"members":[
{"_id":0,"host":"192.168.5.161:27017"},
{"_id":1,"host":"192.168.15.250:27017"},
{"_id":2,"host":"192.168.88.9:27017"}
]
}
> rs.initiate(config)
{ "ok" : 1 }
7.mongodb集羣經常使用命令
D:\mongodb\bin>mongo --port 27017
#查看狀態
zdvictory:PRIMARY>rs.status()
# 在線刪除
zdvictory:PRIMARY> rs.remove("192.168.15.250:27017")
#在線添加節點
zdvictory:PRIMARY> rs.add("192.168.15.250:27017")
#查看配置
zdvictory:PRIMARY> rs.conf()
8.最後注意:mongodb集羣只有2/3臺時,才能自動切換主節點(能正常使用),只有一臺時沒法自動切換爲主節點(不能正常使用)