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. xBIM 基础06 将STEP物理文件转换为XML

    系列目录    [已更新最新开发文章,点击查看详细]  一.STEP标准简介 STEP,它是Standard for the Exchange of Product model data的缩写.产品数 ...

  2. js小知识 正则表达

    js定义正则表达式有两种方式:普通方式,构造函数方式 正则对象是js的内置对象 正则的属性 正则的方法 js中字符串的方法 一.普通方式(双斜杠//方式):var  reg = /表达式/附加参数 表 ...

  3. sql server2008怎么给一张表加一个用户

    有时候我们要对数据库进行权限管理,防止有人误操作或者窃取数据,那么小编这篇文章就是实现这个的操作过程. 百度经验:jingyan.baidu.com 工具/原料   sql server2008数据库 ...

  4. js 关于height()、innerHeight()、outerHeight()函数的区别

  5. Swift 4.0:访问级别(访问控制)

    基础篇 注: 下文中所提及的类和类型为Class, Enum和Struct Swift中的访问级别有以下五种: open: 公开权限, 最高的权限, 可以被其他模块访问, 继承及复写. public: ...

  6. CSS3新增的属性有哪些:

    CSS 用于控制网页的样式和布局. CSS3 是最新的 CSS 标准. CSS3新增了很多的属性,下面一起来分析一下新增的一些属性: 1.CSS3边框: border-radius:CSS3圆角边框. ...

  7. tinymce原装插件源码分析(五)-searchreplace

    searchreplace 功能:查找和替换 代码注释见: https://www.xunhanliu.top/static/js/tinymce/plugins/searchreplace/plug ...

  8. WebSocket 前端封装

    $.extend({ socketWeb:function (opt) { if("WebSocket" in window){ var setting=$.extend({ ur ...

  9. redhat 7 cenos 7 网络配置文件

    Cenos 7 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no DEFROUTE=yes IPV4_FAILURE_FATAL=no NAME=eth0 ...

  10. thymeleaf 拼接 超链接

    <dd><a th:href="@{/get/{id}(id=${user.id})}">基本资料</a></dd>