MongoDB 主从和Replica Set
目前主要的MongoDB高可用架构包含:
主从架构
Replica set副本集方式
sharding分片
本文不讨论sharding,在另一篇博客中单独描述了sharding的架构和搭建方式,参考:MongoDB Sharding分片配置
一、主从架构
https://docs.mongodb.com/v3.6/core/master-slave/index.html
dbpath = /home/wang/mongodbDATA/master
port = 27017
bind_ip = 192.168.1.100 --3.6开始mongodb默认bind本地localhost
master = true
dbpath = /home/wang/mongodbDATA/slave
port = 27017
bind_ip = 192.168.1.101
source = 192.168.1.100:27017
slave = true
db.isMaster()
rs.printReplicationInfo() --只能在master执行
rs.printSlaveReplicationInfo() --只能在slave执行
Master-slave架构主库宕机后备库不能自动切换,因此官方推荐使用replica set。且自3.2版本以后shard环境已经不再允许使用master-slave只能使用replica set。
- 关闭master节点
- 关闭slave节点
- 备份并删除slave节点的dbpath下的所有local开头的文件
- 修改slave节点的配置文件,将其角色变为master。(注意此过程是不可逆的,原master节点想要成为slave必须重做一次full initial sync)
如何将主从架构转变为replica set架构:(事实上主从不能直接转化为副本集,只能先转为单节点replica set,然后rs.add()添加节点,这需要secondary进行数据初始化)

dbpath=/mongodb/data/
logpath=/mongodb/log/mongo.log
pidfilepath=/mongodb/mongo.pid
directoryperdb=true
logappend=true
replSet=rep
port=27017
oplogSize=10000
fork=true
noprealloc=true
use admin
cfg={ _id:"rep", members:[ {_id:0,host:'192.168.20.70:27017',priority:2}, {_id:1,host:'192.168.20.71:27017',priority:1},
{_id:2,host:'192.168.20.72:27017',arbiterOnly:true}] };
--priority的取值范围为0-1000,值越大优先级越高,可以为小数。
(一般不设为0,普通节点默认为1,仲裁节点默认为0,仲裁节点即便设置为1也会自动变成0)
--如果priority设为0,那么意味着此节点永远不会变为主,但是有投票权。
--修改此参数操作参见:https://docs.mongodb.com/manual/tutorial/adjust-replica-set-member-priority/index.html
--关于hidden副本集参见:https://docs.mongodb.com/manual/core/replica-set-hidden-member/#replica-set-hidden-members
###########
初始化生效:
###########
rs.initiate(cfg)
rs.status()
"stateStr" : "RECOVERING" --表示配置正在生效,生效后为PRIMARY/SECONDARY/ARBITER
注意slave默认是不允许读写的,如果想要读,那么需要执行rs.slaveOk()
MongoDB 主从和Replica Set的更多相关文章
- mongodb系列之--mongodb 主从配置与说明
一.为什么要配置mongodb的主从: 1.做主从,可以说是做数据的备份,有利于故障的恢复 2.做主从,可以做到读写分离,主节点负责写操作,从节点负责读操作,这样就把读写压力分开,保证系统的稳定性. ...
- mongodb 主从
mongodb 主从 因为条件限制我们把主从放在一台服务器上面 相关参数 在启动从的时候可以增加以下参数 --autoresync 当发现从服务器的数据不是最新时,开始从主服务器请求同步数据 --sl ...
- MongoDB自学------(4)MongoDB主从搭建
MongoDB复制原理 mongodb的复制至少需要两个节点.其中一个是主节点,负责处理客户端请求,其余的都是从节点,负责复制主节点上的数据. mongodb各个节点常见的搭配方式为:一主一从.一主多 ...
- MongoDB学习笔记——Replica Set副本集
副本集 可以将MongoDB中的副本集看作一组服务器集群由一个主节点和多个副本节点等组成,相对于之前讲到的主从复制提供了故障自动转移的功能 副本集实现数据同步的方式依赖于local数据库中的oplog ...
- mongodb复制集Replica Set使用简介
MongoDB高可用 对于MongoDB,可以支持使用单机模式提供服务,但是在实际的生产环境中,单机模式将面临很大的风险,一旦这个数据库服务出现问题,就会导致线上的服务出现错误甚至崩溃.因此,在实际生 ...
- mongodb主从备份 和 手动主从切换
环境: 主机A:172.16.160.91 主机B:172.16.160.92 配置主机A [root@master zhxf]# cat docker-compose.yml version: '3 ...
- MongoDB整理笔记のReplica oplog
主从操作日志oplog MongoDB的Replica Set架构是通过一个日志来存储写操作的,这个日志就叫做"oplog".oplog.rs是一个固定长度的capped coll ...
- MongoDB主从配置
master的配置 # cat mongod.conf dbpath = /app/sinova/mongodata/db #指定数据库目录 logpath = /app/sin ...
- mongodb主从(副本集附仲裁节点)部署带认证模式
环境:OS:CentOS 7DB:3.0.15机器角色:192.168.1.134:10001 主192.168.1.135:10002 从192.168.1.135:10003 仲裁节点 1.下载相 ...
随机推荐
- 【Jquery系列】之Jquery 选择器
1 概述 本篇文章为穿插文章,ASP.NET MVC系列目前写了如下几篇: 详解google Chrome浏览器(理论篇) 详解Google Chrome浏览器(操作篇)(上) 详解Google ...
- 12个敏捷过程的小提示Tips
12个敏捷过程的小提示Tips 1. 可视化一切. 在团队里使用Scrum白板.同时走廊过道上也会挂上显示信息的白板,这些信息可以是公司战略.软件缺陷等等.可视化的好处是,员工经过这些白板时,能够了解 ...
- Tomcat 8005/8009/8080/8443端口的作用
--关闭tomcat进程所用.当执行shutdown.sh关闭tomcat时就是连接8005端口执行“SHUTDOWN”命令--由此,我们直接telnet8005端口执行“SHUTDOWN”(要大写, ...
- Netty中的HttpObjectAggregator
Http的Get,POST Get请求包括两个部分: request line(包括method,request uri,protocol version)) header 基本样式: GET /?n ...
- Javascript继承5:如虎添翼----寄生式继承
/* * 寄生式继承 * 其实就是对原型继承的第二次封装,在封装过程中对继承的对象进行了扩展. * 也存在原型继承的缺点!! * 这种思想的作用也是为了寄生组合式继承模式的实现. */ //声明基对象 ...
- javascript 点击触发复制功能
摘要: js调用复制功能使用: document.execCommand("copy", false); document.execCommand()方法功能很强大,了解更多请戳: ...
- setTimeout()与clearTimeout()
setTimeout(code,millisec)setTimeout() 只执行 code 一次.如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeo ...
- css 表单标签两端对齐
来自:http://demo.doyoe.com/css3/justify/justify-form.htm 侵删 <!DOCTYPE html> <html lang=" ...
- [笔记]JavaScript 秘密花园
1.hasOwnProperty相关 为了判断一个对象是否包含自定义属性而不是原型链上的属性,我们需要使用继承自 Object.prototype 的 hasOwnProperty方法.hasOwnP ...
- POJ1275 Cashier Employment(差分约束)
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9078 Accepted: 3515 Description A sup ...