环境准备
1.首先配置副本路径,也就是配置三个实例,在配置之前先停止正在运行的mongod.exe,也就是我们的服务。副本集各服务器的基本信息及角色分配如下表。
将之前配置好的mongodb里的bin复制至mongodb1中,在mongodb1中新建db文件夹和log文件夹存在对应的数据库数据以及日志数据。
2.启动三个实例
bin>mongod -port 端口号 -dbpath 数据路径 -logpath 日志路径 -replSet 副本集名称
实例:
主节点1及从节点2(如图):
tips:以上三个节点启动的都是一次性服务,所有窗口不要关闭!节点启动可能会遇到问题,主要检查端口是否被占用,和路径配置问题。
配置集群
进入其中一个实例,配置设置(如图):
(一)进行配置:
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.使得配置生效
实例:
注:生效后可能会出现节点显示正确如下:rs0.SECONDARY
请注意编写代码前的>符号的变化,在没有配置好复制集之前只有”>“,初始化后有”
rs0:SECONDARY>“了,SECONDARY表示该节点是从节点,PRIMARY表示该节点是主节点。[当然,当前显示有点问题,查看一下状态就会改变]
使用命令来查看复制集状态:rs.status()
若显示如下所示即为正确:
注:完成了复制集的搭建。还有一种初始化的方法,就是先只初始化一个节点,然后再通过命令rs.add("ip:port") 来添加从节点或通过命令rs.addArb("ip:port")来添加投票节点。
验证MongoDB复制集
1.接下来需要验证一下复制集的数据同步。
在主节点(127.0.0.1:27017)上的test库collection集合c1中插入数据。如下例:
2.登陆另一个从节点(127.0.0.1:27019)验证是否同步,命令如下:
在从节点上验证:
注:若显示如下代码,则说明副本集群部署成功。