Windows下搭建mongodb复制集
mongodb版本为3.6.21
mongodb复制集
复制集是由副本组成的集群,
需要至少两个或以上的节点,
其中有一个是主节点,负责处理客户端的请求,
其它的为从节点,通过主从复制同步主节点的备份,
主副节点上的数据是一致的,
从节点定期从主节点获取oplog,相当于mysql的binlog,
记录了所有修改数据库操作。
复制集可以提高数据可用性,可以实现故障转移,
当主节点出现故障,集群会从其它从节点中选举出一个主节点。
实例
创建目录和文件
配置文件
(复制集的名字是rs0)
D:\mongodb-replSet\config\rs1.conf
dbpath=D:\mongodb-replSet\data\db\rs1
logpath=D:\mongodb-replSet\log\rs1.log
journal=true
port=40001
replSet=rs0
D:\mongodb-replSet\config\rs2.conf
dbpath=D:\mongodb-replSet\data\db\rs2
logpath=D:\mongodb-replSet\log\rs2.log
journal=true
port=40002
replSet=rs0
D:\mongodb-replSet\config\rs3.conf
dbpath=D:\mongodb-replSet\data\db\rs3
logpath=D:\mongodb-replSet\log\rs3.log
journal=true
port=40003
replSet=rs0
数据目录
D:\mongodb-replSet\data\db\rs1
D:\mongodb-replSet\data\db\rs2
D:\mongodb-replSet\data\db\rs3
日志目录
D:\mongodb-replSet\log
依次启动各节点
节点1
mongod --config D:\mongodb-replSet\config\rs1.conf
节点2(另起一个cmd窗口)
mongod --config D:\mongodb-replSet\config\rs2.conf
节点3(另起一个cmd窗口)
mongod --config D:\mongodb-replSet\config\rs3.conf
访问(另起一个cmd窗口)
mongo --port 40001
设置当前节点为主节点
rs.initiate()
添加从节点
rs.add("localhost:40002")
添加投票节点(自身不参与选举)
rs.addArb("localhost:40003")
查看复制集状态
rs.status()
这样就算是完成了复制集的搭建。
参考资料:
菜鸟教程:MongoDB 复制(副本集)
学习Java的小姐姐:Windows搭建MongoDB复制集