MongoDB 读写分离——Windows MongoDB 副本集配置
参考:https://docs.mongodb.com/manual/tutorial/deploy-replica-set-for-testing/
Master-Slave 主从复制
实现数据同步只需要在某一台服务器启动时加上"-master"参数,以指明此服务器的角色是primary;另一台服务器加上"-slave"和"-source"参数,以指明此服务器的角色是slave。
主从复制的优点如下:
- 从服务器可以执行查询工作,降低主服务器访问压力。
- 在从服务器执行备份,避免备份期间锁定主服务器的数据。
- 当主服务器出现故障时,可以快速切换到从服务器,减少当机时间。
注意:MongoDB 的最新版本已不再推荐此方案。主从复制虽然可以承受一定的负载压力,但这种方式仍然是一个单点,如果主库挂了,数据写入就成了风险。
Replica Sets复制集
MongoDB 在 1.6 版本对开发了新功能replica set,这比之前的replication 功能要强大一 些,增加了故障自动切换和自动修复成员节点,各个DB 之间数据完全一致,大大降低了维 护成功。auto shard 已经明确说明不支持replication paris,建议使用replica set,replica set 故障切换完全自动。
Replica Sets的结构类似一个集群,完全可以把它当成一个集群,因为它确实与集群实现的作用是一样的:如果其中一个节点出现故障,其他节点马上会将业务接管过来而无须停机操作。
副本集需要3个节点,所以需要增加一个 Server.4.2.27019
修改 Server.4.2.27017\bin 下面的 mongod.cfg
# mongod.conf # for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/ # Where and how to store data.
storage:
dbPath: D:\Program Files\MongoDB\Server.4.2.27017\data
journal:
enabled: true
# engine: wiredTiger
# mmapv1:
wiredTiger:
engineConfig:
cacheSizeGB: 1 # where to write logging data.
systemLog:
destination: file
logAppend: true
path: D:\Program Files\MongoDB\Server.4.2.27017\log\mongod.log # network interfaces
net:
port: 27017
bindIp: 127.0.0.1 #processManagement: #security: #operationProfiling: replication:
replSetName: "rs0" #组名
oplogSize: 2000 # 默认下,oplog大小会占用64位的实例5%的可用磁盘空间。
#sharding: ## Enterprise-Only Options: #auditLog: #snmp:
可以在cmd 下运行 mongo 执行 rs.initiate(),这边使用的客户端工具执行 Studio3T.jar


将21018、21019 都设为 rs0 rs0


这时候三个都是只读的 rs.initiate()结果已经和只有一个的有所不同
初始化前可以 rs.status(),前后做个比较

创建一个副本集配置对象,使用rs.initiate()初始化副本集,然后将rsconf文件传递给rs.initiate(),如下所示
如果出现“not master and slaveok=false”的提示错误,请输入一下命令 rs.slaveOK()
rsconf = {
_id: "rs0",
members: [
{
_id: 0,
host: "127.0.0.1:27017" 【这个要是对外IP,否则代码连接时,会转到本地127.0.0.1地址】
},
{
_id: 1,
host: "127.0.0.1:27018"
},
{
_id: 2,
host: "127.0.0.1:27019"
}
]
}
rs.initiate(rsconf)


刷新左侧列表

运行 db.isMaster() 看效果

MongoDB 读写分离——Windows MongoDB 副本集配置的更多相关文章
- mongodb系列之---副本集配置与说明
在配置副本集之前,我们先来了解一些关于副本集的知识. 1,副本集的原理 副本集的原理与主从很相似,唯一不同的是,在主节点出现故障的时候,主从配置的从服务器不会自动的变为主服务器,而是要通过手动修改配置 ...
- 分布式文档存储数据库(MongoDB)副本集配置
副本集特征: N 个节点的集群 任何节点可作为主节点 所有写入操作都在主节点上 自动故障转移 自动恢复 相关文章: http://www.cnblogs.com/huangxincheng/archi ...
- MongoDB副本集配置系列三:副本集的认证方式
1:副本集配置参考这篇博客: http://www.cnblogs.com/xiaoit/p/4478951.html 2:副本集的认证 假设有两台机器已经配置好了副本集(副本集罪一般最少3台机器,这 ...
- [Database] MongoDB 副本集配置
MongoDB 副本集配置 MongoDB复制是将数据同步在多个服务器的过程. 复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性. 复制还允许您从硬 ...
- MongoDB学习笔记——Replica Set副本集
副本集 可以将MongoDB中的副本集看作一组服务器集群由一个主节点和多个副本节点等组成,相对于之前讲到的主从复制提供了故障自动转移的功能 副本集实现数据同步的方式依赖于local数据库中的oplog ...
- mongodb3.2副本集配置
网上的资料太乱了,等弄好了再看官网才发现官网写的最清晰和简洁 推荐官网的副本集配置:https://docs.mongodb.com/manual/tutorial/deploy-replica-se ...
- Mycat数据库中间件对Mysql读写分离和分库分表配置
Mycat是一个开源的分布式数据库系统,不同于oracle和mysql,Mycat并没有存储引擎,但是Mycat实现了mysql协议,前段用户可以把它当做一个Proxy.其核心功能是分表分库,即将一个 ...
- MongoDB系列之三(副本集配置)
今天我测试了一下MongoDB的副本集的配置. 首先从概念上说一下MongoDB副本集和主从复制的区别.其实副本集(Replica Set)是主从复制的高级形式.高级在哪里呢?主动复制实现了数据备份+ ...
- mongodb副本集配置
需要用到mongodb的时候单个实例肯定是不行的,挂了怎么办,那然后呢,跟mysql一样搞主从备份吗,是可以的mongodb这么弄,不过官网已经不推荐了这么干了,推荐使用副本集的模式,然后数据再大一点 ...
- mongodb.副本集配置方法(使用keyfile认证部署)
前提条件: - 已安装MongoDB, 版本以3.6为例 - 系统: Debian9 - 建议做副本集的话, 以3台以上为宜, 本文以1台主机2个服务为例 1.创建数据存放的目录, 并授权 sudo ...
随机推荐
- 24. 从零用Rust编写正反向代理,细说HTTP行为中的几种定时器
wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,内网穿透,后续将实现websocket代理等,会将实现 ...
- 自研、好用的ORM 读写分离功能使用
Fast Framework 作者 Mr-zhong 代码改变世界.... 一.前言 Fast Framework 基于NET6.0 封装的轻量级 ORM 框架 支持多种数据库 SqlServer O ...
- 没错,数据库确实应该放入 K8s 里!
昨天冯老板发了一篇文章探讨了为什么将数据库放入 K8S 中不是一个明智的选择. 如果是四年前有人质疑容器化数据库我觉得还可以 battle 一下,都 2023 年了还有人不能认清这个大势,我就有必要来 ...
- 记一次解决RestTemplate和HttpClient请求结果乱码的问题
调用一个接口,发送POST请求,浏览器和Postman均返回正常,代码中用RestTemplate和HttpClient均返回乱码 开始一直以为是编码问题导致,网上查了解决方法,也看了源码,都不对症 ...
- 基于.NET平台常用的框架整理【藏】
来自:天使不哭 自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此 ...
- JQuery_2
1.动画: 1.三种方式显示和隐藏元素 1.默认方式 1.show([speed,[easing],[fn]]) 1.参数: 1. ...
- Linux配置成代理服务器
简介: 代理服务器(Proxy Server)是一种位于计算机网络中的中间服务器,它充当了客户端和目标服务器之间的中介,用于转发客户端请求并获取目标服务器的响应.代理服务器的主要功能包括以下几点: 什 ...
- C++ Qt 开发:ListWidget列表框组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍ListWid ...
- hdu4365 Palindrome graph
Palindrome graph Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- oracle12c静默安装
oracle12c 静默安装 先决条件 ● 至少 1 GB RAM 用于 Oracle 数据库安装.建议使用 2 GB 内存. ● 至少 8 GB RAM 用于 Oracle Grid Infrast ...