单机下执行:

/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. 密码工具:KeePassXC

    KeePassXC 开源免费 只支持数据库存放在本地, 跨平台 自动填充 使用浏览器插件时,软件必须启动着 KeePassXC is a community fork of KeePassX, a n ...

  2. 多核vs多处理器

    多核vs多处理器 多核CPU性能最好,但成本最高:多CPU成本小,便宜,但性能相对较差 线程数=cpu处理器个数 * 一个cpu内的核数[如果有超线程,再乘以超线程数] 多核 CPU 和多个 CPU ...

  3. 微信小程序获取位置

    获取位置 getLocation wx.getLocation({ type: 'wgs84', success (res) { const latitude = res.latitude const ...

  4. LeetCode 238. 除自身以外数组的乘积(Product of Array Except Self)

    238. 除自身以外数组的乘积 238. Product of Array Except Self 题目描述 LeetCode LeetCode238. Product of Array Except ...

  5. LeetCode 445. 两数相加 II(Add Two Numbers II)

    445. 两数相加 II 445. Add Two Numbers II 题目描述 给定两个非空链表来代表两个非负整数.数字最高位位于链表开始位置.它们的每个节点只存储单个数字.将这两数相加会返回一个 ...

  6. [转帖]JAVA BIO与NIO、AIO的区别(这个容易理解)

    JAVA BIO与NIO.AIO的区别(这个容易理解) https://blog.csdn.net/ty497122758/article/details/78979302 2018-01-05 11 ...

  7. Delphi 将视频 Base64 字符串转换为视频二进制文件

    var Bytes: TBytes; Stream: TBytesStream; begin with System.NetEncoding.TBase64Encoding.Create do try ...

  8. python实战项目 — 爬取 妹子图网,保存图片到本地

    重点: 1. 用def函数 2. 使用 os.path.dirname("路径保存") , 实现每组图片保存在独立的文件夹中 方法1: import requests from l ...

  9. 使用PHP开发HR系统(6)

        本节讲述如何连接Postgre数据库并查询与显示数据. ==================================================================== ...

  10. M-SOLUTIONS Programming Contest

    A.(n-2)*180 #include<cstdio> #include<cstring> #include<iostream> #include<algo ...