單機切換成複本集方法步驟
1:備份資料庫,關掉目前的資料庫
/u03/mongodb/bin/mongodump -d Configuration -o /u02/dump/
use admin db.shutdownServer();
2:在兩台機器上啟動兩個資料節點具體如下:
/u01/mongo/bin/mongod--dbpath=/u01/mongodb/data/--logpath=/u01/mongodb/logs/node1.log --replSet replcopy/192.168.191.141:27017--fork
/u01/mongo/bin/mongod--dbpath=/u01/mongodb/data/ --logpath=/u01/mongodb/logs/node2.log --replSetreplcopy/192.168.191.151:27017 --fork
第一個節點的資料檔案為之前單點的資料檔案目錄,保證資料一直
3:在另一台機器上啟動仲裁節點
u01/mongo/bin/mongod--dbpath=/u01/mongodb/arbiter/ --port 20000--logpath=/u01/mongodb/logs/arbiter.log --replSet replcopy/192.168.191.141:27017,192.168.191.151:27017--fork
/admin
4:添加配置
cfg = {_id: "replcopy", members: [ { _id:0, host:"192.168.191.141:27017"}, { _id:1,host:"192.168.191.151:27017"} ]}
rs.initiate(cfg)
5:添加仲裁節點
rs.addArb("192.168.191.150:20000");
6:進入資料庫查看幾圈的狀態
rs.status() rs.stepDown() 這個命令可以強制primary和standard節點角色互換,從而驗證是否能夠實現failover功能。
7:使備庫可讀(可選)
db.getMongo().setSlaveOk()
8:修改應用程式連接字串
mongodb://192.168.191.141:27017,192.168.191.151:27017