mongodb 副本集配置与说明

1,副本集的原理

副本集的原理与主从很相似,唯一不同的是,在主节点出现故障的时候,主从配置的从服务器不会自动的变为主服务器,而是要通过手动修改配置.但是副表集就不用,它会自动选出一台服务器做为主节点,从而保障系统的稳定性.

2,副本集新的主节点是怎么选举出来的呢

是通过bully算法来的,也就是一致性协议.具体如下

1):当主节点挂了后,副本集会获得其他从节点的最后更新时间与主服务做对比

2):如果所有从节点的最后更新时间都是很旧,那就选举停止

3):如果副本集中的大部分服务器挂了,包含主节点,那么选举也停止

4):如果以上情况都没有发生,那就更新时间最新的被选举为主节点

5):如果更新时间都一样,那么谁最快成为主节点就谁做为主节点

注意:参数选举的节点必须是副本集中的半数节点以上

3.副本集中的各个节点的角色

mongodb 副本集配置与说明,布布扣,bubuko.com

时间: 2024-11-11 03:45:53

mongodb 副本集配置与说明的相关文章

MongoDB副本集配置系列三:副本集的认证方式

1:副本集配置参考这篇博客: http://www.cnblogs.com/xiaoit/p/4478951.html 2:副本集的认证 假设有两台机器已经配置好了副本集(副本集罪一般最少3台机器,这里只做演示使用) 192.168.91.132 192.168.91.133 副本集总体思路是用户名.密码和keyfile文件,keyfile需要各个副本集服务启动时加载而且要是同一文件,然后在操作库是需要用户名.密码KeyFile文件必须满足条件:(1)至少6个字符,小于1024字节(2)认证时候

MongoDB副本集配置系列二:配置MongoDB副本集

接上一篇博客: http://www.cnblogs.com/xiaoit/p/4479066.html 1:首先创建3台虚拟机作为配置环境 IP1:192.168.91.128 IP2:192.168.91.129 IP3:192.168.91.130 2:下载MongoDB 2.6版本 https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-2.6.9.zip 3:解压 tar -zxvf mongodb-linux-x8

MongoDB副本集配置

三台机器配置 要求:一主两从一仲裁.异地机房节点不具备选举为Primary资格. 1.MongoDB安装 在官网或者GitHub上下载压缩包,上传到服务器,并解压到/usr/local/下,命名为mongodb 2.在/app目录下创建mongodb目录,并根据安装的节点端口号创建/mongodb+端口号目录,例如创建/mongodb27017目录 3.在/app目录下创建db.conf.log三个目录,并在conf下创建文件mongodb+端口号.conf文件,文件配置如下 port=2701

MongoDB副本集配置系列十一:MongoDB 数据同步原理和自动故障转移的原理

1:数据同步的原理: 当Primary节点完成数据操作后,Secondary会做出一系列的动作保证数据的同步: 1:检查自己local库的oplog.rs集合找出最近的时间戳. 2:检查Primary节点local库oplog.rs集合,找出大于此时间戳的记录. 3:将找到的记录插入到自己的oplog.rs集合中,并执行这些操作. 2:查看副本集的信息 gechongrepl:PRIMARY> rs.status() { "set" : "gechongrepl&quo

MongoDB副本集配置系列十:MongoDB local库详解和数据同步原理

1:local库是MongoDB的系统库,记录着时间戳和索引和复制集等信息 gechongrepl:PRIMARY> use local switched to db local gechongrepl:PRIMARY> show tables me oplog.rs replset.minvalid slaves startup_log system.indexes system.replset temp 2:local库下的每个集合分别记录的内容 local库下面的me集合保存了服务器名称

MongoDB副本集配置系列七:MongoDB oplog详解

1:oplog简介 oplog是local库下的一个固定集合,Secondary就是通过查看Primary 的oplog这个集合来进行复制的.每个节点都有oplog,记录这从主节点复制过来的信息,这样每个成员都可以作为同步源给其他节点. 2:副本集数据同步的过程 副本集中数据同步的详细过程:Primary节点写入数据,Secondary通过读取Primary的oplog得到复制信息,开始复制数据并且将复制信息写入到自己的oplog.如果某个操作失败(只有当同步源的数据损坏或者数据与主节点不一致时

MongoDB副本集配置系列八:MongoDB监控

1:Mongostat MongoDB2.6版本 MongoDB3.0版本 2:db.setProfilingLevel(2):打开profiler 类似于MySQL的slow log Profiler默认是关闭的,你可以选择全部开启,或者有慢查询的时候开启. db.setProfilingLevel(level,<slowms>) 0=off 1=slow 2=all > use test switched to db test > db.setProfilingLevel(2)

MongoDB副本集配置系列九:MongoDB 常见问题

What is a namespace in MongoDB? If you remove a document, does MongoDB remove it from disk? When does MongoDB write updates to disk? How do I do transactions and locking in MongoDB? How do you aggregate data with MongoDB? Why does MongoDB log so many

MongoDB副本集配置系列六:定位MongoDB慢的原因

1:想知道哪些操作拖慢了MongoDB的速度,首先需要检查当前正在执行哪些操作. gechongrepl:PRIMARY> db.currentOp() "opid" : 78891,#操作的唯一标识符,可通过它来终止操作 "active" : true,#true表示当前正在运行,false表示此操作已交出或在等待其他操作交出锁 "secs_running" : 1,#查看执行时间,可以通过该参数定位耗时的操作 "microse