MongoDB复制

1. 什么是复制

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

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

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

4)分布式读取数据

2. MongoDB复制原理

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

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

3. 副本集特征:

1个节点的集群

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

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

4)自动故障转移

5)自动恢复

4. MongoDB副本集设置:

   示例:

   D:Program_FilesMongoDBinmongod --port 27017 --dbpath "D:mongodbdatadb" --replSet rs0(启动一个名为rs0MongoDB实例)

   客户端操作:

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

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

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

5. 副本集添加成员:

   客户端操作:

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

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

注:

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

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

 

原文地址:https://www.cnblogs.com/wujuntian/p/5297331.html