mongodb需要配置仲裁节点
记录一下,MongoDB的角色创建及配置,以便以后使用
经过大量血的教训,一个分片配置两个副本集时(一个是primary一个是secondary),如果primary挂掉,secondary是不会升级的,必须要加上一个不存储数据的仲裁节点
config = {"_id" : "tonghao", "members" : [ {"_id" : 0, "host" : "10.2.42.101:27017", priority:2},{"_id" : 1, "host" : "10.2.40.104:27017", priority:1},{"_id" : 2, "host":"10.2.40.104:27016", arbiterOnly:true}]}
priority:2,数字越大级别越高,级别高的作为主节点。
主从复制原理:
假如副本集的数据主从同步不一致,则需要把local db下的文件全复制。
也就是要迁移oplog时间戳
当Mongo DB 被设置成主库时(这一点很重要),在 local db 下有个 collection 叫oplog.$main ,这个就是Mongo 的 oplog。
当Primary节点完成数据操作后,Secondary会做出一系列的动作保证数据的同步:
1:检查自己local库的oplog.rs集合找出最近的时间戳。
2:检查Primary节点local库oplog.rs集合,找出大于此时间戳的记录。
3:将找到的记录插入到自己的oplog.rs集合中,并执行这些操作。
Secondary节点同步到哪了:
1:Primary节点插入一条数据
2:同时,会把该数据写入到Primary的oplog中,并且记录一个时间戳
3:db.runCommand({getlasterror:1,w:2})在Primary节点被调用时,Primary就完成了写入操作,等待其他非仲裁节点来同步数据
4:Secondary节点查询Primary的oplog并且拉去oplog
5:Secondary根据时间戳应用oplog
6:Secondary请求大于本身oplog时间戳的oplog
7:Primary更新时间戳
- mongodb需要配置仲裁节点
- MongoDB 复制集节点增加移除及节点属性配置
- MongoDB 3.0.6的主,从,仲裁节点搭建
- mongodb节点配置指南
- MongoDB 基础(八)复制Ⅱ—部署仲裁节点
- Mongodb被动(passive)节点配置 推荐
- MONGODB 集群架构 调整,增加延迟备份节点服务器,删除仲裁节点
- MongoDB添加仲裁节点报错replica set IDs do not match办法
- 一、mongodb之单个实例、主从配置、多个节点
- SQL Server AlwaysOn配置两个节点加共享文件夹仲裁见证
- Mongodb 3节点 Rep set +sharding 配置
- mongodb 安装常用命令 集群架构 调整,增加延迟备份节点服务器,删除仲裁节点
- Mongodb延迟复制节点配置
- 节点仲裁mongodb replica sets reconfig and conver a Secondary to an Arbiter
- 学习MongoDB(三) Add an Arbiter to Replica Set 集群中加入仲裁节点
- Spark添加/更改集群节点需要修改的配置文件
- mongodb仲裁节点
- MongoDB仲裁节点的理解以及memcached,zookeeper,redis,故障恢复方案思考.
- Struts2之动态方法调用(优点:调用同一个action中的多个方法不需要在配置文件中写多个指向相同action类的的action节点只需要一个action节点就行)
- spring配置mongodb连接副本集多个节点