1. 程式人生 > 其它 >wondows下MongoDb複製集部署

wondows下MongoDb複製集部署

MongoDb複製集最少三個節點一個主一個從一個監控節點。

1:啟動3個cmd

//
mongod --port 29017 --dbpath E:\MongoDB\db29017\data --logpath E:\MongoDB\db29017\log\mongod.log --replSet rs0
//
mongod --port 29018 --dbpath E:\MongoDB\db29018\data --logpath E:\MongoDB\db29018\log\mongod.log --replSet rs0
//監控
mongod --port 29019 --dbpath E:\MongoDB\db29019\data --logpath E:\MongoDB\db29019\log\mongod.log --replSet rs0

 

 2:再啟動3個cmd分別登入

//
mongo --port 29017
//
mongo --port 29018
//監控
mongo --port 29019

 

 如此總共6個控制檯

3:在29017裡面操作,分別執行以下命令

//初始化
rs.initiate({"_id":"rs0",members:[{_id:0,host:"127.0.0.1:29017"},{_id:1,host:"127.0.0.1:29018"},{_id:2,host:"127.0.0.1:29019"}]})
//可以通過isMaster檢視是否是主節點和使用rs.status檢視狀態
rs.isMaster()
rs.status()

4:然後新增從節點和監控節點

//新增從節點
rs.add("127.0.0.1:29018")
//新增監控節點
rs.addArb("127.0.0.1:29019")

5:將主節點服務關閉,過一會再29018上執行rs.isMaster() 、rs.status()都行會發現原先的從節點變成了主節點,而等29017回覆之後會變成從節點

 

 

 

 

 

 7:再做資料同步

主庫執行:

 db.userinfo.insert({"id":1,"name":"fanlin"});

然後在從庫獲取:

db.userinfo.find()

會發現報錯

 

 此時只需要在從庫執行以下指令就行了

 rs.slaveOk()

 

 以上!