MongoDB复制(副本集)
复制介绍
保障数据的安全性
数据高可用性(24 * 7)
灾难恢复
无需停机维护(如备份,重建索引,压缩)
分布式读取数据
MongoDB的复制原理
mongodb的复制至少需要两个节点。其中一个是主节点,负责处理客户端请求,其余的都是从节点,负责复制主节点上的数据
.mongodb各个节点常见的搭配方式为:一主一从,一主多从。
主节点记录在其上的所有操作OPLOG,从节点定期轮询主节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证从节点的数据与主节点一致。
MongoDB的副本集设置
语法
mongod --port“PORT”--dbpath“YOUR_DB_DATA_PATH”--replSet“REPLICA_SET_INSTANCE_NAME”
实例
mongod --port 27017 --dbpath“f:\ mongodb \ data”--replSet rs0
以上实例会启动一个名为RS0的MongoDB的实例,其端口号为27017
启动后打开命令提示框并连接上的MongoDB服务。
在蒙戈客户端使用命令rs.initiate()来启动一个新的副本集。
我们可以使用rs.conf()来查看副本集的配置
查看副本集状态使用rs.status()命令
副本集添加成员
rs.add()语法:
> rs.add(HOST_NAME:PORT)
rs.add( “RS 0:27017”)
配置
dbpath=D:\MongoDB\data\db\as1
logpath=D:\MongoDB\data\log\as1.log
journal=true
port=20000
replSet=rs0
dbpath=D:\MongoDB\data\db\as2
logpath=D:\MongoDB\data\log\as2.log
journal=true
port=20001
replSet=rs0
dbpath=D:\MongoDB\data\db\as3
logpath=D:\MongoDB\data\log\as3.log
journal=true
port=20002
replSet=rs0
开始
mongod --config D:\MongoDB\data\db\as1\rsc.conf
mongod --config D:\MongoDB\data\db\as2\rsc.conf
mongod --config D:\MongoDB\data\db\as3\rsc.conf
mongo --port 20000
在RS0复制集添加节点
rs.initiate()
rs.conf()
rs.add("localhost:20001")
rs.addArb("localhost:20002")
rs.status()
实例 https://download.csdn.net/download/weixin_42749765/10630752