MongoDB Replication

 

 

Purpose of Replication

Replication 为数据提供冗余的同时,也提高了数据高可用性。由于在不同数据库服务器上拥有多个数据镜像,Replication可以有效防止单台机器故障导致的数据丢失。

Replication 还可以提高读性能。客户端将读请求与写请求发到不同服务器上。还可以在其他数据中心建立复制节点做异地灾备,进一步提高可用性。

Replication in MongDB

Replica set 是由相同数据集的mongod实例组成。其中一个节点为主节点(primary),所有的写请求都是在该节点上完成。其他节点为从节点(secondary),从节点接收主节点上传来的操作并应用,并以此来保证其与主节点的数据集一致。

主节点接收所有来自客户端的写操作。一个Replica set 只能有一个主节点。由于一个Replica set 只有一个节点能接收写操作,因此主节点读操作提供了严格的一致性校验。主节点将所有数据集的变动记录到oplog 以支持Replication的实现。

从节点将主节点上的oplog复制过来并应用这些操作来修改自己的数据集以确保从节点的数据集与主节点保持一致。一旦主节点不可用,Replica set 将一个从节点选举为主节点。

 

投票节点将只做投票使用。当主节点降级为从节点时,其他的一个从节点将在选举中被推荐为主节点。

Asynchronous Replication

从节点从主节点应用操作是异步的。从节点返回给客户端的数据可能不是最新的数据。

Automatic Failover

当主节点无法与Replica set 中的其他成员进行沟通超过10s,Replica set将推选另一位节点为主节点。

时间: 2024-10-18 02:15:42

MongoDB Replication的相关文章

MongoDB replication set复制集(主从复制)(8)

replicattion set 就是多台服务器维护相同的数据副本,提高服务器的可用性. Replication set 设置全过程 0:创建目录 mkdir -p /data/r0 /data/r1 /data/r2 1:启动3个实例,且声明实例属于某复制集 ./bin/mongod --port 27017 --dbpath /data/r0 --smallfiles --replSet rsa --fork --logpath /var/log/mongo17.log ./bin/mong

mongodb replication 维护总结

副本集成员最多12个成员,其中只有7个成员拥有投票权.这是为了减少 心跳请求的网络流量和选举话费的时间.心跳每2秒发送一次. 一.新增副本集成员 1.登录primary 2.use admin >rs.add("new_node:port") 或 rs.add({"_id":4,"host":"new_node:port","priority":1,"hidden":false})

MongoDB 搭建副本集

副本集(Replica Set)是一组MongoDB实例组成的集群,由一个主(Primary)服务器和多个备份(Secondary)服务器构成.通过Replication,将数据的更新由Primary推送到其他实例上,在一定的延迟之后,每个MongoDB实例维护相同的数据集副本.通过维护冗余的数据库副本,能够实现数据的异地备份,读写分离和自动故障转移. 一,MongoDB版本和环境 在Windows上创建包含三个节点的副本集,使用的环境: 数据库:MongoDB 版本 3.2.9 Server

MongoDB

MongoDB 副本集(Replica Set)是一组MongoDB实例组成的集群,由一个主(Primary)服务器和多个备份(Secondary)服务器构成.通过Replication,将数据的更新由Primary推送到其他实例上,在一定的延迟之后,每个MongoDB实例维护相同的数据集副本.通过维护冗余的数据库副本,能够实现数据的异地备份,读写分离和自动故障转移. 一,MongoDB版本和环境 在Windows上创建包含三个节点的副本集,使用的环境: 数据库:MongoDB 版本 3.2.9

nagios 监控 mongodb 解决nagios界面显示null 问题

网上有很多关于nagios 监控mongodb 的介绍,但是无一例外,手工执行 python 能获取客户端的值,nagios 监控界面上面显示null, 针对该问题,本人用shell 脚本重新封装了部分监控选项,让nagios 能正常监控mongodb 服务器 如果想了解nagios 监控mongodb的部署过程,请点击: http://www.2cto.com/database/201410/341855.html https://github.com/mzupan/nagios-plugin

mongodb replica set 和 nodejs中使用mongoose连接replica

一.mongodb replication 介绍 官网上的第一句话就是Replication is the process of synchronizing data across multiple servers.翻译过来就是replication(复制)是跨多个服务器同步的过程,基本原理就是一个主服务器和很多从服务器通过同步日志的方式来达到数据一致的目的,并且有且只有一个主服务器,在mongodb中也叫主节点(primary node)负责写操作,而从服务器,也叫次要节点(secondary

第五部分 架构篇 第十二章 MongoDB Replica Sets 架构(简介)

1.Replication简介 MongoDB Replication即是在多个服务器中同步复制数据,数据复制的目的为提供冗余和提高数据的可用性,数据复制的操作即在不同的数据库服务器上保存多份复制的数据集,以此来避免单机故障进而丢失数据,复制机制也允许你恢复硬件故障和服务中断,进而起到数据的容灾和备份作用. 在MongoDB中,一个复制集就是一组mongod实例,一个mongod实例作为primary也就是所谓的master服务,接收所有的写操作,其他的mongod实例作为secondaries

MongoDB 副本集 pymongo使用

搭建没有仲裁节点的副本集,推荐使用 2.清空node2的db文件夹 和 log 文件夹 rm -rf /var/lib/mongod/* rm -rf /var/log/mongod/* 3.修改node2和port.replSet vim /etc/mongod.conf replSet = arg/192.168.1.161:27017,192.168.1.162:27017 复制mongod.conf到node2 scp /etc/mogod.conf node2:/etc/ 4.启动三个

mongo-connector导入数据到Es

要求 基于mongo-connector同步数据,必须要求mongodb为复制集架构,原因是此插件是基于oplog操作记录进行数据同步的:而oplog可以说是Mongodb Replication的纽带.具体参见: http://www.mongoing.com/oplog 启动复制集: ./bin/mongod --dbpath /path/to/database --logpath /path/to/log --fork --port 27017 --replSet rs0 配置:rscon