MongoDB复制

扫码查看

1. 什么是复制

(1)MongoDB复制是将数据同步在多个服务器的过程。

(2)复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性。

(3)复制还允许您从硬件故障和服务中断中恢复数据。

(4)分布式读取数据

2. MongoDB复制原理

(1)mongodb的复制至少需要两个节点。其中一个是主节点,负责处理客户端请求,其余的都是从节点,负责复制主节点上的数据。

(2)主节点记录在其上的所有操作oplog,从节点定期轮询主节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证从节点的数据与主节点一致。

3. 副本集特征:

(1)N 个节点的集群

(2)任何节点可作为主节点

(3)所有写入操作都在主节点上

(4)自动故障转移

(5)自动恢复

4. MongoDB副本集设置:

示例:

D:\Program_Files\MongoDB\bin\mongod --port 27017 --dbpath "D:\mongodb\data\db" --replSet rs0(启动一个名为rs0的MongoDB实例)

客户端操作:

rs.initiate():启动一个新的副本集。

rs.conf():查看副本集的配置。

rs.status():查看副本集姿态。

5. 副本集添加成员:

客户端操作:

rs.add(HOST_NAME:PORT):添加副本集成员

db.isMaster():判断当前运行的MongoDB服务是否为主节点。

注:

MongoDB中你只能通过主节点将Mongo服务添加到副本集中。

MongoDB的副本集与我们常见的主从有所不同,主从在主机宕机后所有服务将停止,而副本集在主机宕机后,副本会接管主节点成为主节点,不会出现宕机的情况。

04-11 10:51
查看更多