Mongodb 主从复制与副本集实验

时间:2021-07-14 10:20:34

1.实验主从复制,并验证复制成功,抓图实验过程 

Step1:创建相应的目录

Mkdir -p ./dbs/master

Mkdir -p ./dbs/slave

Step2:开启主服务

./bin/mongod --dbpath ./dbs/master --port 10000 --master

Step3:开启salve:

./bin/mongod --dbpath ./dbs/slave --port 10001 --slave --rest --nojournal --source localhost:10000

Step4:在主结点上做数据测试:

Mongo localhost:10000

Use evan

Db.users.insert({"userid","evan"});

Db.users.find();

Step5:在辅结点上查找数据,验证主从复制的效果:

Mongo localhost:10001

Use evan

Db.users.find()

Mongodb 主从复制与副本集实验

 
 

Mongodb 主从复制与副本集实验

 
 

Mongodb 主从复制与副本集实验

 
 

Mongodb 主从复制与副本集实验

2.实验副本集,并验证自动切换primary成功,抓图实验过程 

启动三个结点:

./bin/mongod --dbpath ./dbs/node1 --port 10001 --replSet blort

./bin/mongod --dbpath ./dbs/node2 --port 10002 --replSet blort

./bin/mongod --dbpath ./dbs/node3 --port 10003 --replSet blort

连接其中一台结点:

mongo localhost:10001

初始化副本集

rs.initiate({"_id" : "blort","members" : [

{"_id" : 1,"host" : "localhost:10001"},

{"_id" : 2,"host" : "localhost:10002"},

{"_id" : 3,"host" : "localhost:10003"},

]}) ;

检查状态:

rs.status();

测试主从切换:

rs.stepDown(30);

再次查看状态:

rs.staus();

发现node1从primary变成secondary

node3从secondary变成primary

Mongodb 主从复制与副本集实验

 
 

Mongodb 主从复制与副本集实验