• 任何时间点只有一个活跃节点,其他为备份节点,当活跃节点泵机,将会通过选举规则,从备选节点选一个当活跃节点,当泵机的节点恢复之后,则变为备用节点。
  • 节点类型

stabdard:常规节点,存储完整数据,参与投票,有可能成为活跃节点

passive:投票节点,存储完整数据备份,不参与投票,不能成为活跃节点

arbiter:仲裁节点,不存数据,参与投票,不能成为活跃节点

  • 选举规则:根据节点的优先权(数字0-1000包含1000)进行从大到小排序(0为不能变成活跃节点),如果优先权相同,则判断节点的数据新旧程度,最新的节点成为活跃节点,注意事项:如果备份节点最新的数据是3秒前同步的,则成为活跃节点时,则变成备份节点的数据为最新,其他的节点(包括原来活跃节点)的数据进行回滚,然后与当前活跃点进行同步。同步之前,其他节点不能成为活跃节点的候选者
  • 环境搭建,建立文件目录 MS\Set1\db、log、配置文件    MS\Set2\db、log、配置文件    MS\Set2\db、log、配置文件

1、配置文件如下:

实例1

dbpath=D:\MSset\Set1\db

logpath=D:\MSset\Set1\s1.log

directoryperdb=true

logappend=true

replSet=testrs/127.0.0.1:28882

port=28881

oplogSize=10000

实例2

dbpath=D:\MSset\Set2\db

logpath=D:\MSset\Set2\s2.log

directoryperdb=true

logappend=true

replSet=testrs/127.0.0.1:28881

port=28882

oplogSize=10000

实例3

dbpath=D:\MSset\Set3\db

logpath=D:\MSset\Set3\s3.log

directoryperdb=true

logappend=true

replSet=testrs/127.0.0.1:28882 (配置文件指定replSet为副本集群的名称与关联的对应IP,可以只关联一个,开始之后Mongo可以自动感应集群其他机器)

port=28883

oplogSize=10000

2、使用mongod命令 启动实例服务。mongod --config D:\MSset\Set1\conf.conf(后面2个实例启动命令于此雷同)

3、使用mongo 命令进行登录其中一个实例, mongo 127.0.0.1:28882

因为使用配置文件只是做了物理关联,需要手动的执行命令将集群串起来,此时登录服务器是不能做读、写操作的,

需要执行命令,db.getMongo().setSlaveOk()之后获得读写权限,然后执行命令,将Mongo各个实例串联起来

db.runCommand({

"replSetInitiate":{

"_id":"testrs",

"members":[

{

"_id":1,

"host":"127.0.0.1:28881"

},

{

"_id":2,

"host":"127.0.0.1:28882"

},

{

"_id":3,

"host":"127.0.0.1:28883"

}

]

}

})

项目文件:

http://pan.baidu.com/s/1o8lwcUA

MongoDB--架构搭建(主从、副本集)之副本集的更多相关文章

  1. 搭建高可用mongodb集群—— 副本集

    转自:http://www.lanceyan.com/tech/mongodb/mongodb_repset1.html 在上一篇文章<搭建高可用MongoDB集群(一)——配置MongoDB& ...

  2. Mongodb主从复制 及 副本集+分片集群梳理

    转载努力哥原文,原文连接https://www.cnblogs.com/nulige/p/7613721.html 介绍了Mongodb的安装使用,在 MongoDB 中,有两种数据冗余方式,一种 是 ...

  3. Mongodb副本集+分片集群环境部署记录

    前面详细介绍了mongodb的副本集和分片的原理,这里就不赘述了.下面记录Mongodb副本集+分片集群环境部署过程: MongoDB Sharding Cluster,需要三种角色: Shard S ...

  4. mongodb副本集加分片集群安全认证使用账号密码登录

    mongodb副本集加分片集群搭建网上资料有很多.粘贴一个写的比较好的.副本集加分片搭建 对于搭建好的mongodb副本集加分片集群,为了安全,启动安全认证,使用账号密码登录. 默认的mongodb是 ...

  5. Mongodb副本集+分片集群环境部署

    前面详细介绍了mongodb的副本集和分片的原理,这里就不赘述了.下面记录Mongodb副本集+分片集群环境部署过程: MongoDB Sharding Cluster,需要三种角色: Shard S ...

  6. MongoDB和Java(6):Spring Data整合MongoDB副本集、分片集群

    最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...

  7. 部署MongoDB复制集(副本集)

    环境 操作系统:Ubuntu 18.04 MongoDB: 4.0.3 服务器 首先部署3台服务器,1台主节点 + 2台从节点 3台服务器的内容ip分别是: 10.140.0.5 (主节点) 10.1 ...

  8. MongoDB 部署复制集(副本集)

    部署MongoDB复制集(副本集)   环境 操作系统:Ubuntu 18.04 MongoDB: 4.0.3 服务器 首先部署3台服务器,1台主节点 + 2台从节点 3台服务器的内容ip分别是: 1 ...

  9. Mongodb分布式集群副本集+分片

    目录 简介 1. 副本集 1.1 MongoDB选举的原理 1.2 复制过程 2. 分片技术 2.1 角色 2.2 分片的片键 2.3 片键分类 环境介绍 1.获取软件包 2.创建路由.配置.分片等的 ...

  10. 【MongoDB】windows平台搭建Mongo数据库复制集(类似集群)(转)

    原文链接:[MongoDB]windows平台搭建Mongo数据库复制集(类似集群)(一) Replica  Sets(复制集)是在mongodDB1.6版本开始新增的功能,它可以实现故障自动切换和自 ...

随机推荐

  1. Nginx 反向代理&负载均衡

    1.反向代理 当我们请求一个网站时,nginx会决定由哪台服务器提供服务,就是反向代理. nginx只做请求的转发,后台有多个tomcat服务器提供服务,nginx的功能就是把请求转发给后面的服务器, ...

  2. jquery与js实现全选功能的区别---2017-05-12

    一.jquery常用的事件 click(),dbclick() focus(),blur() change() keydown(),keypress(),keyup() mousedown(),mou ...

  3. 对JVM运行时常量池的一些理解

    1.JVM运行时常量池在内存的方法区中(在jdk8中,移除了方法区) 2.JVM运行时常量池中的内容主要是从各个类型的class文件的常量池中获取,对于字符串常量,可以调用intern方法人为添加,而 ...

  4. C#打开php链接传参然后接收返回值

    php代码 一.php <?php header("Content-Type:text/html;charset=UTF-8"); $u=$_POST['zdupdate'] ...

  5. Java项目和maven项目中如何获取&设置配置文件中的属性

    通常情况下,我们会在一些配置文件文件中配置一些属性.如: indexPath = E\:\\Tomcat_7.0\\webapps\\ipost_stage\\lucene\\index imgUpl ...

  6. 多线程之Parallel类

    Parallel类是对线程的一个抽象.该类位于System.Threading.Tasks名称空间中,提供了数据和任务并行性. Paraller类定义了数据并行地For和ForEach的静态方法,以及 ...

  7. 你会python不?当你听到这个问题要谨慎回答!!!

    问:你会python不? 答:python啊,略微有点小研究,虽然不精通,但是写写网络小爬虫,搜集搜集网络资源,学习视频什么的,还是手到擒来的...(for循环一小时中) 旁白:然而你没有明白人家的真 ...

  8. python利用selenium和safari浏览器驱动实现新浪微博自动点赞 Demo

    import time from selenium import webdriver browser = webdriver.Safari() browser.get('http://weibo.co ...

  9. ios runtime 打印内 内部调用的属性

    unsigned int count = 0; // 拷贝出所有的成员变量列表 Ivar *ivars = class_copyIvarList([UITextField class], &c ...

  10. 修改es最大返回结果数

    curl -XPUT http://114.215.171.188:9200/logstash-serverlog/_settings -d '{"index":{"ma ...