MongoDB副本集
一、实验目的
掌握MongoDB的副本集相关操作。
二、实验内容
1、副本集环境准备和启动。
在mongoDB的安装目录下创建data,data2,data3以及log,logs2,logs3,并且创建mongo2.conf,mongo3.conf
①mongod --replSet itcast --port 27017 --dbpath E:\noSQL\mongodb-win32-x86_64-2012plus-4.2.2\data\db
②mongod --replSet itcast --port 27018 --dbpath E:\noSQL\mongodb-win32-x86_64-2012plus-4.2.2\data2\db
③mongod --replSet itcast --port 27019 --dbpath E:\noSQL\mongodb-win32-x86_64-2012plus-4.2.2\data3\db
2、副本集的初始化。
登录27017客户端执行rs.initiate()
rs.add(“127.0.0.1:27018”)
rs.add(“127.0.0.1:27019”)
3、查看副本集成员状态。
登录27017客户端执行rs.status()
4、同步副本文档。
在27017客户端写入一条文档,登录27018客户端和27019客户端查看是否存在
5、副本集的故障转移。
将127.0.0.1:27017的服务器关闭,伪装成服务器故障,之后27018服务器为主节点,27017在登陆时变为副节点。
6、配置副本集成员。
①获取副本集成员信息
进入27017服务器中,cfg=rs.conf()
②调整副本集成员优先级
Cfg.members[0].priority=2
cfg=rs.conf()
③配置隐藏节点和延迟节点
进入到27017服务器上cfg=rs.conf()
Cfg.members[1].priority=0
Cfg.members[1].hidden=true
cfg=rs.conf(cfg)
cfg=rs.conf()
Cfg.members[2].priority=0
Cfg.members[1].hidden=true
Cfg.members[2].slaveDelay=3600
Rs.reconfig(cfg)
④配置副本集成员投票权
进入到27017服务器中,rs.conf()
Rs.reconfig(cfg)
⑤将副本节点转为仲裁节点
rs.conf()
Rs.remove(“127.0.0.1:27018”)
Rs.addArb(“127.0.0.1:27018”)
7、副本集的安全认证。
在27017服务器上创建用户进行安全认证
mongod --replSet itcast --port 27017 --dbpath E:\noSQL\mongodb-win32-x86_64-2012plus-4.2.2\data\db --auth