首先,我们在开始前先检查一下电脑还有没有电不然到时候不好保存!!!
环境准备
本教程将会演示mongodb4.4副本集部署(一个主节点,两个从节点,伪分布式)
节点 | 配置 |
主节点 | localhost:27018 |
从节点1 | localhost:27019 |
从节点2 | localhost27020 |
每一个节点(实例)都创建好对应的数据文件(data)和日志文件(log)。例如:
启动实例(服务)
语法:
bin>mongod -port 端口号 -dbpath 数据路径 -logpath 日志路径 -replSet 副本集名称
注意:打代码的同时注意大小写的切换,甚至括号和标点符号也要精确
示例:
>mongod -port 27019 -dbpath D:\MongoDB1\data -logpath D:\MongoDB1\log\mongo1.log -replSet rs0
主节点:
从节点1
从节点2
以上三个节点启动的时候都是一次性服务的,切记所有窗口不要关闭,否则从头输入重新再来!
tips:
节点启动可能会遇到问题,主要检查端口是不是被占用了,路径配置问题,若都没有问题则考虑以管理员的身份来启动cmd往往可以解决80%的问题哦。
配置副本集
维持服务不要关闭,进入仍和一个节点内:
进行配置:
1.切换到admin数据库!
use admin
2.配置集群
config={_id:"rs0",members:[
... {_id:0,host:"localhost:27018",priority:5},
... {_id:1,host:"localhost:27019",priority:3},
... {_id:2,host:"localhost:27020",priority:1},
... ]}
注意:打代码的同时注意大小写的切换,甚至括号和标点符号也要精确
说明:第一个“_id”为副本集名称,“priority”为优先级,数字越大,优先级越高。
3.使得配置生效
rs.initiate(config)
{ "ok" : 1 }
生效后可能会出现节点显示错误:
(明明是主节点,但却显示从节点)
只需要查看副本集状态即可更正:
rs0:SECONDARY> rs.status()
从节点配置
刚刚配置好的副本集中的从节点是无法进行数据库操作的:
要先进行从节点永久化设置
rs.slaveOk()
或者使用(推荐使用):
rs.secondaryOk()
注意:打代码的同时注意大小写的切换,甚至括号和标点符号也要精确
副本集验证
在主节点中增加数据
在从节点上验证: