replicattion 相当于 mysql 的主从复制的读写分离,共同维护相同的数据,提高服务器的可用性【假如主(PRIMARY)不能用时,mongo会迅速自动切到从(SECONDARY)服务器上】
      1、pkill -9 moongo                                 //先杀死之前的进程
      2、 mongodb目录下:mkdir /home/m17 /home/m18 /home/m19
      3、开启
           ./bin/mongodb --dapath /home/m17 --logpath /home/mlog/m17.log --fork --port 27017 --replSet re2 --smallfiles  
           ./bin/mongodb --dapath /home/m18 --logpath /home/mlog/m18.log --fork --port 27018 --replSet re2 --smallfiles
           ./bin/mongodb --dapath /home/m19 --logpath /home/mlog/m19.log --fork --port 27019 --replSet re2 --smallfiles     
                                   --replSet                       //声明采用复制集
                                   --smallfiles                    //因为咱们是在一台机器上练习复制集【所以尽量让空间占小一点】
      4、选择任意一台选择配置:
            use admin                                                        ///先打开 admin 库 
            var rsconf={_id:'rs2',members:[                      ///粘贴 -> 执行
                    {_id:0,host:"192.168.1.202:27017"},
                    {_id:0,host:"192.168.1.202:27018"},
                    {_id:0,host:"192.168.1.202:27019"}]
            } 
      5、根据配置做初始化
            rs.initiate(rsconf);                                             //还在 admin 库(可以理解是目录下)     
            当前初始化窗口出现 rs2:PRIMARY 说明 ok
            rs.status();                                                       //显示当前复制集状态
 
 
后期还可以很方便的增加和删除从服务器(节点):
         删除:
                rs.remove("192.168.1.202:27019");
         添加:
            var rsconf={_id:'rs2',members:[                      ///粘贴 -> 执行
                    {_id:0,host:"192.168.1.202:27017"},【_id:0 为主服务器】
                    {_id:0,host:"192.168.1.202:27018"},
                    {_id:0,host:"192.168.1.202:27019"}]
            } 
            rs.reconfig(rsconf);                                            //重新配置下复制集
 
      在主服务器上做了改动后,来到从服务器上查询报错: error:{"$err":"not master and slaveOk=false",'code':13435} 。是因为从服务器默认不许读写,只和主服务器保持通信。
      要先 rs.slaveOk();   
      再 show tables 等操作。
 
 
     当主服务器故障时,会自动将从服务器提升至主服务器。但是我们就不知道那台服务器是主服务器了(从服务器上是不能进行写操作的)。
      db.isMaster();                              //检测谁是主服务器

MongoDB 的replicattion 复制集练习的更多相关文章

  1. mongodb 3.4复制集配置

    1:启动三个实例 /bin/mongod --config /home/mongodb/db27017/mongodb27017.conf /bin/mongod --config /home/mon ...

  2. mongodb 3.4复制集详解

    1关闭数据库,打开三个mongodb数据库数据库实例 rs.printReplicationInfo() 2:原理 主库能够进行读写操作,一个复制集群只能有一个活跃的主库 一般情况下复制可以分为好几种 ...

  3. 【2016-11-1】【坚持学习】【Day16】【MongoDB】【复制集 分片】

    Mongodb 两种集群方式 复制集 通常是一主一从,一主多从 mongodb的复制至少需要两个节点.其中一个是主节点,负责处理客户端请求,其余的都是从节点,负责复制主节点上的数据. mongodb各 ...

  4. mongoDB研究笔记:复制集概述

    自我学习,仅供参考: 数据库总是会遇到各种失败的场景,如网络连接断开.断电等,尽管journaling日志功能也提供了数据恢复的功能,但journaling通常是针对单个节点来说的,只能保证单节点数据 ...

  5. mongoDB研究笔记:复制集故障转移机制

    上面的介绍的数据同步(http://www.cnblogs.com/guoyuanwei/p/3293668.html)相当于传统数据库中的备份策略,mongoDB在此基础还有自动故障转移的功能.在复 ...

  6. CentOS7 yum方式安装 MongoDB 3.4 复制集

    CentOS7 yum方式安装 MongoDB 3.4 环境.准备 Centos7 系统 配置MongoDB的yum源,添加文件/etc/yum.repos.d/mongodb-org-3.4.rep ...

  7. MongoDB搭建ReplSet复制集群

    MongoDB的复制集是一个主从复制模式 又具有故障转移的集群,任何成员都有可能是master,当master挂掉用会很快的重新选举一个节点来充当master. 复制集中的组成主要成员 Primary ...

  8. MongoDB 3.2复制集单节点部署(四)

    MongoDB在单节点中也可以做复制集,但是仅限于测试实验,最大的好处就是部署方便快速,可以随便添加新节点,节省资源.在这里我使用的是MongoDB 3.2版本进行复制集实验(但MongoDB配置文件 ...

  9. MongoDB 2.6复制集单节点部署(三)

    MongoDB在单节点中也可以做复制集,但是仅限于测试实验,最大的好处就是部署方便快速,可以随便添加新节点,节省资源.在这里我使用的是MongoDB 2.6版本进行复制集实验(但MongoDB配置文件 ...

随机推荐

  1. java算法数据结构

    原文地址:github.com/kdn251/interviews 译文出自:掘金翻译计划 译者:王下邀月熊 校对者:PhxNirvana.根号三 这个 链接 用来查看本翻译与英文版是否有差别(如果你 ...

  2. Windows版Redis如何使用?(单机)

    使用Windows版Redis 1.下载Windows版本的Redis 2.在redis目录里创建redis.conf ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...

  3. jQuery更改样式

    $(".input_check_2").css("left","31px"); //更改left的值

  4. How Javascript works (Javascript工作原理) (九) 网页消息推送通知机制

    个人总结: 1.介绍了网页消息推送通知机制 全文地址:https://github.com/Troland/how-javascript-works 这是 JavaScript 工作原理的第九章. 现 ...

  5. Spring jar包功能

    1.spring.jar 是包含有完整发布模块的单个jar 包. 2. org.springframework.aop 包含在应用中使用Spring的AOP特性时所需的类. 3. org.spring ...

  6. BZOJ 3790 神奇项链(manacher+贪心)

    3790: 神奇项链 Time Limit: 10 Sec  Memory Limit: 64 MB Description 母亲节就要到了,小 H 准备送给她一个特殊的项链.这个项链可以看作一个用小 ...

  7. tf.slice()解释

    转载:https://www.jianshu.com/p/71e6ef6c121b def slice(input_, begin, size, name=None): 其中“input_”是你输入的 ...

  8. 2015 Multi-University Training Contest 2 hdu 5303 Delicious Apples

    Delicious Apples Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Other ...

  9. 埃及分数 迭代加深搜索 IDA*

    迭代加深搜索 IDA* 首先枚举当前选择的分数个数上限maxd,进行迭代加深 之后进行估价,假设当前分数之和为a,目标分数为b,当前考虑分数为1/c,那么如果1/c×(maxd - d)< a ...

  10. Mysql导入Sql文件时报Error Code: 2013 - Lost connection to MySQL server during query

    MySql 有时我们导入sql文件,文件过大,导致Error Code: 2013 - Lost connection to MySQL server during query这种错误 执行以下: S ...