单机下执行:

/usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/r1 --port   --replSet myset
/usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/r2 --port --replSet myset
/usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/r3 --port --replSet myset

mongo --port 27018 进入节点:

进入主节点进行初始化
rs.initiate({
_id:"myset", // replSet指定的名称
members:[{
_id:,
host:"127.0.0.1:27018" // 主节点ip与端口
}]
})
再将其他两个从节点加入到该复制集中
rs.add("127.0.0.1:27019")
rs.add("127.0.0.1:27020")
 
通过rs.status()查看效果,可以看到myset这个复制集中已经有了三个节点,stateStr指明了节点的类型,health为1表明该节点是健康的。
从库查看:
db.isMaster();
mongodb默认是从主节点读写数据,副本节点上不允许读,设置副本节点可读。
db.getMongo().setSlaveOk();
测试写入数据
db.tb.insert({"test1":"testval1"})
测试kill 主节点27018,集群自动选择27020作为主节点,
    "_id" : ,
"name" : "127.0.0.1:27020",
"health" : ,
"state" : ,
"stateStr" : "PRIMARY",
主节点可以写入数据,重启27018节点,这时以前的主节点变成了从节点
    "name" : "127.0.0.1:27018",
"health" : ,
"state" : ,
"stateStr" : "SECONDARY",

连接复制集

  由于复制集中的切换机制,在主节点故障的情况下,集群内其他从节点会通过投票方式产生新的主节点,因此,不能像单机情况下那样,直接连接主节点;否则在MongoDB自动切换主节点时,数据库访问就会出问题。因此连接复制集需要特定的连接方式。

在MongoDB的连接字符串(connection url)中可以进行指定。

其中可以指定多个host:port,用英文逗号连接,并在最后的option中支持replicaSet参数,用于指定连接的复制集。例如:

mongodb://127.0.0.1:27018,127.0.0.1:27019,127.0.0.1:27020/books?replicaSet=myset

这样就可以连接上复制集中的books这个数据库。

 
参考:
链接:https://www.jianshu.com/p/f15325e19758
链接:http://blog.itpub.net/22664653/viewspace-710005/
 

Mongodb3.6 Replica Set 配置的更多相关文章

  1. mongodb3.2副本集配置

    网上的资料太乱了,等弄好了再看官网才发现官网写的最清晰和简洁 推荐官网的副本集配置:https://docs.mongodb.com/manual/tutorial/deploy-replica-se ...

  2. 转 Warning:MongoDB Replica Sets配置注意事项

    我们知道,MongoDB不提供单机的数据安全性,取而代之的是提供了Replica Sets的高可用方案.官方文档中提到的案例是三个节点组成的Replica Sets,这样在其中任何一个节点宕机后都会自 ...

  3. mongodb replica set 配置高性能多服务器详解

    mongodb的多服务器配置,以前写过一篇文章,是master-slave模式的,请参考:详解mongodb 主从配置.master-slave模式,不能自动实现故障转移和恢复.所以推荐大家使用mon ...

  4. mongodb3.6集群搭建:分片+副本集

    mongodb是最常用的noSql数据库,在数据库排名中已经上升到了前五.这篇文章介绍如何搭建高可用的mongodb(分片+副本)集群. 在搭建集群之前,需要首先了解几个概念:路由,分片.副本集.配置 ...

  5. MongoDB3.4版本新增特性

    先说明一下mongod和mongos的含义:mongod是MongoDB系统的主要后台进程,它处理数据请求.管理数据访问和执行后台管理操作:该命令的命令行选项主要用于测试,在场景操作中,使用配置文件选 ...

  6. MongoDB高可用集群配置方案

    原文链接:https://www.jianshu.com/p/e7e70ca7c7e5 高可用性即HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非 ...

  7. mongodb集群配置分片集群

    测试环境 操作系统:CentOS 7.2 最小化安装 主服务器IP地址:192.168.197.21 mongo01 从服务器IP地址:192.168.197.22 mongo02 从服务器IP地址: ...

  8. Kafka server部署配置优化

    Kafka配置优化其实都是修改server.properties文件中参数值 1.网络和io操作线程配置优化 # broker处理消息的最大线程数        num.network.threads ...

  9. MongoDB Replica Set搭建集群

    MongoDB做集群,版本3.2官网推荐的集群方式Replica Set 准备服务器3台 两个standard节点(这两个节点直接可以互切primary secondary). 一个arbiter节点 ...

随机推荐

  1. ubuntu中cmake版本升级

    在网上下载一个项目,编译提示版本太低 CMake Error at CMakeLists.txt: (cmake_minimum_required): CMake 编译方式安装(需要openssl) ...

  2. [LeetCode] 675. Cut Off Trees for Golf Event 为高尔夫赛事砍树

    You are asked to cut off trees in a forest for a golf event. The forest is represented as a non-nega ...

  3. [LeetCode] 500. Keyboard Row 键盘行

    Given a List of words, return the words that can be typed using letters of alphabet on only one row' ...

  4. Java之安装JDK

    因为Java程序必须运行在JVM只是,所以我们第一件事情就是安装JDK 从Oracle官网下载最新稳定版JDK 一,Linux系统CentOS安装JDK 下载rpm安装包 安装 rpm -ivh jd ...

  5. c#通过socket判断服务器连接是否正常

    判断Socket是否连接上,需要通过发包来确认. 之前确认都是调用调用socket的connected属性,然而该属性是上次的连接是否成功的结果,不及时. // 检查一个Socket是否可连接 pri ...

  6. 【视频开发】ffmpeg实现dxva2硬件加速

    这几天在做dxva2硬件加速,找不到什么资料,翻译了一下微软的两篇相关文档.这是第二篇,记录用ffmpeg实现dxva2. 第一篇翻译的Direct3D device manager,链接:http: ...

  7. python面试题100道

    python 100道面试题 1.一行代码实现1--100之和 利用sum()函数求和 2.如何在一个函数内部修改全局变量 函数内部global声明 修改全局变量 3.列出5个python标准库 os ...

  8. mysql在windows下的服务安装

    前提必须用管理员身份运行 1.删除Mysql服务,打开命令行,输入下面的指令 sc delete MySql 2.初始化一下数据,比如配置文件中设置了数据的存储路径,日志位置等:该命令必须用管理员身份 ...

  9. el-input 标签中密码的显示和隐藏

    效果展示: 密码隐藏: 密码显示: 代码展示: 一:<el-input>标签代码 <el-form-item label="密码" prop="pass ...

  10. Java开发笔记(一百三十)Swing的选择框

    不管是AWT还是Swing,都把选择框分成两类:复选框和单选按钮,这两类控件无论是外观上还是功能上均有显著差异.例如,在外观方面,复选框是在方框内打勾,而单选按钮是在圆圈内画圆点:在功能方面,复选框允 ...