MongoDB副本集介绍:
MongoDB的副本集是一组维护相同数据集的MongoDB服务器,提供高可用性和数据冗余。副本集有一个主节点(primary)和多个从节点(secondary),当主节点出现故障时,从节点可以通过选举一个新的主节点来保持服务的高可用性。
目录
mongodb副本集部署(一主两从,伪分布式)
第一步:环境配置
三个节点(节点也可叫实例):主节点,从节点1,从节点2
节点 | 端口 |
---|---|
主节点 | localhost:27017 |
从节点1 | localhost:27018 |
从节点2 | localhost:27019 |
每一个节点都要创建对应的文件bin,文件data,文件log。
bin文件:
如下所示:
- 新建一个文件夹命名为mongodb1,然后在其创建对应bin文件、数据文件(data)和日志文件(log)
- 复制粘贴mongodb1两次,分别重命名为mongodb2和mongodb3
第二步:启动实例(服务)
语法为:mongod -port 端口号 -dbpath 数据路径 -logpath 日志路径 -replSet 副本集名称
创建三个不同端口的数据节点:
mongod -port 27017 -dbpath D:\mongodb1\data -logpath D:\mongodb1\log\mongo1.log -replSet rs0
mongod -port 27018 -dbpath D:\mongodb2\data -logpath D:\mongodb2\log\mongo2.log -replSet rs0
mongod -port 27019 -dbpath D:\mongodb3\data -logpath D:\mongodb3\log\mongo3.log -replSet rs0
注意:可能会出现端口占用问题,可以尝试换个端口试试。如果是电脑权限不高,使用管理员身份进行即可。
示例如下图:
成功了就是在下一行光标不停闪烁,不会出现字
- 主节点
- 从节点1
- 从节点2
以上三个节点都是一次性服务,因此窗口不要关闭!深有体会啊这点。
第三步:配置副本集
保持服务不要关闭,进入任意一个节点内:
mongo -port 端口号
这里进入的是主节点:
下面进行主节点配置:
- 切换到admin数据库
use admin
- 配置集群
members:包含副本集中所有成员信息。
第一个_id:副本集名称
第二个_id:表示成员在副本集中的id值。
priority:表示优先级,数字越大,优先级越高。
- 使配置生效
rs.initiate(config)
如果生效后显示从节点(rs0:SECONDARY),使用下面代码查看副本集状态即可更正,正常显示(rs0:PRIMARY):
rs.status()
从节点配置:
刚配置的从节点无法进行数据库操作,要先对从节点永久化设置:
方法一:
rs.secondaryOk()
方法二:
rs.slaveOk()
这里我使用的是方法一
第四步:副本集验证
- 主节点上增加数据:
- 从节点上验证:
这样就说明副本集部署成功了