环境准备
本次的教程演示mongodb副本集部署(一主两从,伪分布式)
每一个分片都应该安装 MongoDB 实例,需要将 bin 文件复制到每个分片中, 并且创建data 文件以及 log 文件存放数据库数据和日志数据
每一个节点(实例)都创建对应的数据文件(data)和日志文件(log)。例如:
启动实例(服务)
语法:
bin>mongod -port 端口号 -dbpath 数据路径 -logpath 日志路径 -replSet 副本集名称
示例:
>mongod -port 27018 -dbpath D:\MongoDB1\data -logpath D:\MongoDB1\log\mongo1.log -replSet rs0
主节点:
从节点1(以管理员身份启动):
从节点2:
以上三个节点启动的都是一次性服务,所以窗口不要关闭!
(注意:节点启动可能会遇到问题,主要检查端口是否被占用,和路径配置问题。若都没问题则考虑以管理员身份启动cmd。有些电脑需要更高的权限,需要以管理员的身份运行cmd)
看图:我们可以打开菜单,找到Windows 系统,然后找到命令提示符,右键鼠标,点击更多,然后以管理员的身份运行。
配置副本集
维持服务不要关闭,进入任何一个节点内:
进行配置:
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)
生效后可能会出现节点显示错误:
(明明是主节点,但却显示从节点)
只需要查看副本集状态即可更正:
rs.status()
从节点配置
刚刚配置好的副本集中的从节点是无法进行数据库操作的:
要先进行从节点永久化设置:
rs.slaveOk()
或者使用(推荐使用):
rs.secondaryOk()
副本集验证
在主节点中增加数据
说明副本集群部署成功。