环境准备
1.首先配置副本路径,也就是配置三个实例
在配置之前先停止正在运行的mongod,副本集各服务器的基本信息及角色分配如下表。
将之前配置好的mongodb里的bin复制至mongodb1中,在mongodb1中新建空data文件夹和log文件夹存在对应的数据库数据以及日志数据。
2.启动三个实例
语法:bin>mongod -port 端口号 -dbpath 数据路径 -logpath 日志路径 -replSet 副本集名称。如下所示:
注意:以上三个节点启动的都是一次性服务,所以窗口不要关闭!节点启动可能会遇到问题,主要检查端口是否被占用,和路径配置问题。若都有问题则考虑以管理员身份启动cmd
配置集群
进入其中一个实例,配置设置(维持服务不要关闭):mongo -port 27017
一,进行配置
1.切换到admin数据库:
use admin
2.配置集群:
config={_id:"rs0",members:[
... {_id:0,host:"localhost:27017","priority":3},
... {_id:1,host:"localhost:27018","priority":2},
... {_id:2,host:"localhost:27019","priority":1}]}
注明:第一个“_id”为副本集名称,“priority”为优先级,数字越大,优先级越高。如下图片:
3.使得配置生效:rs.initiate(config)
注:生效后会出现节点显示正确如下代码如下:rs0.SECONDARY
注意:编写代码前的”>符号的变化,在没有配置好复制集之前只有”>“,初始化后有”
rs0:SECONDARY>“了,SECONDARY表示该节点是从节点,PRIMARY表示该节点是主节点。[当然,当前显示有点问题,查看一下状态就会改变
二,从节点配置
刚刚配置好的副本集中的从节点是无法进行数据库操作,如下例所示:
1.要先进行从节点永久化设置:
rs.slaveOk()或者rs.secondaryOk() 二者都可
我们现在已经完成了复制集的搭建。
验证MongoDB复制集
1.验证复制集的数据同步
在主节点(127.0.0.1:27017)上的test库collection集合c1中插入数据。如下:
2.登陆另一个从节点(127.0.0.1:27019)验证是否同步
在从节点上验证。例:
若显示如下代码,则说明副本集群部署成功。