MongoDB复制
Posted 编程人,在天涯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的副本集与我们常见的主从有所不同,主从在主机宕机后所有服务将停止,而副本集在主机宕机后,副本会接管主节点成为主节点,不会出现宕机的情况。
以上是关于MongoDB复制的主要内容,如果未能解决你的问题,请参考以下文章