码迷,mamicode.com
首页 > 数据库 > 详细

MongoDB副本(一主一备+仲裁)环境部署记录

时间:2017-11-23 08:07:27      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:日志   数据同步   blog   nbsp   image   数据库   cond   有一个   一个   

 

MongoDB复制集是一个带有故障转移的主从集群。是从现有的主从模式演变而来,增加了自动故障转移和节点成员自动恢复。
MongoDB复制集模式中没有固定的主结点,在启动后,多个服务节点间将自动选举产生一个主结点。该主结点被称为primary,一个或多个从结点被称为secondaries。
primary结点基本上就是master结点,不同之处在于primary结点在不同时间可能是不同的服务器。如果当前的主结点失效了,复制集中的其余结点将会试图选出一个
新的主结点。

MongoDB复制集模式的好处:

  • 一切自动化。首先,复制集模式本身做了大量的管理工作,自动管理从节点,确保数据不会不一致。
  • 主节点挂掉后,会自动判断集群中的服务器并进行故障转移,推举新的主节点。
  • 一个复制集集群支持1-7台服务器,在一个复制集中各个服务器数据保持完全一致。

在一个MongoDB复制集集群中,各个服务器有以下几种状态:

  • Primary 主节点,一个复制集有且仅有一台服务器处于Primary状态,只有主节点才对外提供读写服务。如果主节点挂掉,复制集将投票选出一个备节点成为新的主节点。
  • Secondary 备用节点,复制集允许有多台Secondary,每个备用节点的数据与主节点的数据是完全同步的。Recovering 恢复中,当复制集中某台服务器挂掉或者掉线后数据无法同步,重新恢复服务后从其他成员复制数据,这时就处于恢复过程,数据同步后,该节点又回到备用状态。
  • Arbiter 仲裁节点,该类节点可以不用单独存在,如果配置为仲裁节点,就主要负责在复本集中监控其他节点状态,投票选出主节点。该节点将不会用于存放数据。如果没有仲裁节点,那么投票工作将由所有节点共同进行。
  • Down 无效节点,当服务器挂掉或掉线时就会处于该状态。复制集的从节点读请求,也是在各个Driver层设置slaveOk的值来实现的。

如上介绍所知,mongodb中的复制可以在多台服务器中同步数据。复制提供了冗余和增加了数据的高可用性,防止单个节点易丢失数据的可能性,也可以用来进行读写分离提高客户端操作性能。复制集中各节点的mongodb实例有相同的数据集副本。主节点可以接收客户端所有写操作记录到日志中,从库复制主库的操作日志记录应用到其数据库中。一个客户端只能有一个主节点,如果主节点不可用(10秒内无法连接),复制集中将选一个成员节点作为主节点。

mongodb主备+仲裁的基本结构如下:

技术分享图片

下面简单介绍下MongoDB 副本集的部署过程:

 

MongoDB副本(一主一备+仲裁)环境部署记录

标签:日志   数据同步   blog   nbsp   image   数据库   cond   有一个   一个   

原文地址:http://www.cnblogs.com/kevingrace/p/7881496.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!