①创建副本集

1:先创建几个存放数据的文件夹,比如在前面的dbs下面创建db1,db2,db3;

同理在前面的logs下面创建logs1,logs2,logs3

2:在启动MongoDB服务器的时候,使用--replSet副本集名称选项,如:

./mongod --dbpath ../dbs/db1 --logpath ../logs/logs1 --port 20001 --fork --replSet myrepl

3:然后再启动两个,端口分别为20002和20003,当然要修改相应的数据文件路径和日志路径,副本集名称

./mongod --dbpath ../dbs/db2 --logpath ../logs/logs2 --port 20002 --fork --replSet myrepl

./mongod --dbpath ../dbs/db3 --logpath ../logs/logs3 --port 20003 --fork --replSet myrepl

4:连接到20001,[第一次]进行副本集的初始化

rs.initiate(

{_id:"myrepl",

members:[

{_id:0,host:'127.0.0.1:20001'},

{_id:1,host:'127.0.0.1:20002'},

{_id:2,host:'127.0.0.1:20003'}

]

}

)

5:察看副本集状态

rs.status(); 或者rs.config(); 或者db.printReplicationInfo();

②说明

(1)客户端的读写请求,都是发送到主节点进行操作

(2)客户端不能在备份节点上进行写请求

(3)默认情况下,客户端不能从备份节点读取数据,可以通过显示的执行如下语句来允许读:db.getMongo().setSlaveOk();

③测试
启三台shell工具,分别连接 ./mongo 127.0.0.1:20001   ./mongo 127.0.0.1:20002   ./mongo 127.0.0.1:20003
 
1、数据查询测试
在主节点创建一个新的数据库并插入数据,再查询从节点
 
2、故障转移测试
将当前主节点kill掉
 
3、再启动之前的主节点
它会从同步主节点数据
 

4、如果由于之前的操作,导致某台起不起来

删除当前的/dbs/dbN  /logs/logsN的数据

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

第37章:MongoDB-集群--Replica Sets(副本集)---单机的搭建的更多相关文章

  1. 第38章:MongoDB-集群--Replica Sets(副本集)---多机的搭建

    ①机器环境 182.48.115.236    master-node(主节点) 182.48.115.237    slave-node1(从节点) 182.48.115.238    slave- ...

  2. 第39章:MongoDB-集群--Replica Sets(副本集)---副本集基本原理

    ①操作日志oplog Oplog是主节点的local数据库中的一个固定集合,按顺序记录了主节点的每一次写操作,MongoDB的复制功能是使用oplog来实现的,备份节点通过查询这个集合就可以知道需要进 ...

  3. 第36章:MongoDB-集群--Replica Sets(副本集)

    ①副本集 副本集是一种在多台机器同步数据的进程,副本集体提供了数据冗余,扩展了数据可用性.在多台服务器保存数据可以避免因为一台服务器导致的数据丢失.也可以从硬件故障或服务中断解脱出来,利用额外的数据副 ...

  4. 第40章:MongoDB-集群--Replica Sets(副本集)---副本集的管理

    ①以单机模式启动成员 由于很多维护的工作需要写入操作,所以不合适在副本集中操作,可以以单机模式启动成员,也就是不要使用副本的选项,就跟以前启动单独的服务器一样.一般使用一个跟副本集配置中不一样的端口号 ...

  5. mongodb 搭建集群(分片+副本集)

    mongodb  搭建集群(分片+副本集) 一.搭建结构图: 二.搭建步骤:

  6. MongoDB学习笔记——Replica Set副本集

    副本集 可以将MongoDB中的副本集看作一组服务器集群由一个主节点和多个副本节点等组成,相对于之前讲到的主从复制提供了故障自动转移的功能 副本集实现数据同步的方式依赖于local数据库中的oplog ...

  7. mongodb的分布式集群(2、副本集)

    概述        副本集是主从复制的一种,是一种自带故障转移功能的主从复制.攻克了上述主从复制的缺点.实现主server发生问题后.不需人为介入.系统自己主动从新选举一个新的主server的功能. ...

  8. mongodb分片集群(无副本集)搭建

    数据分片节点#192.168.114.26#mongo.cnfport=2001dbpath=/data/mongodb/datalogpath=/data/mongodb/log/mongodb.l ...

  9. Mongo的Replica Sets (复制集)的配置全过程和心得体会

    http://blog.csdn.net/bloggongchang/article/details/7272403 一.MongoDB Replica Sets(副本集)简单的说就是有自动故障恢复功 ...

随机推荐

  1. Pillow《转载》

    Pillow https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432002 ...

  2. Core Graphices 设置渐变

    Core Graphices 设置渐变 Quartz 提供了两种设置渐变的方式  CGShadingRef and CGGradientRef 尝试CGGradientRef 的使用 import & ...

  3. Altium Designer9.4局域网内冲突的问题

    Altium Designer破解 1.安装Altium Designer原程序.2.运行AD9KeyGen,点击“打开模板”,加载ad9.ini,如想修改注册名,只需修改:TransactorNam ...

  4. windows下安装Scrapy框架

    一 首先我们通过pycharm安装: 发现不行,会报错. 二 通过命令行再次进行安装: 发现还是会报错: 更新下pip,继续安装,发现还是不行,那怎么办呢? 继续安装Scrapy发下还是不行: 那么我 ...

  5. oracle 创建表,删除表,修改表,查询表

    1,获取当前用户下的所有表信息 =>  SELECT * FROM user_tables 1.1,查询某一张表的字段信息:SELECT  *  FROM user_tab_columns  w ...

  6. php状态设计模式

    状态设计模式的关键就是,环境中拥有所需的全部状态对象,每个状态对象又引用了环境对象:环境对象通过维护一个当前状态属性(用于存放状态对象)从而对所需的全部状态对象产生影响. 下面演示了一个简单的状态设计 ...

  7. 《DOM Scripting》学习笔记-——第二章 js语法

    <Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...

  8. 学了 Python 能用来做这些!

    来源商业新知网,原标题:学了 Python 能用来做什么? 说起编程语言,Python 也许不是使用最广的,但一定是现在被谈论最多的.随着近年大数据.人工智能的兴起,Python 越来越多的出现在人们 ...

  9. 2019/1/15 python基础学习

    一.列表切片a.快捷方式:spam[:3] ----表示从列表开始到3位置结束:拿到的内容是0,1,2没有3位置上的数字.spam[3:]b.列表的拼接.复制: 拼接:使用 + [1,2,3]+['A ...

  10. SSM商城项目(十)

    1.   学习计划 1.使用freemarker实现网页静态化 a)Freemarker的使用方法 b)Freemarker模板的语法 c)Freemarker整合springmvc 2.Active ...