转载请注明出处:

  在MongoDB中,rs(通常指的是“replica set”的缩写)是复制集(Replica Set)的标识符或在使用时的一种常见前缀,尤其是在命令行工具和脚本中引用复制集时。复制集是MongoDB用来实现数据冗余和高可用性的一个核心组件。

复制集(Replica Set)的作用:

  1. 数据冗余:复制集在多个服务器上维护相同数据的多个副本,以防止单点故障导致的数据丢失。

  2. 高可用性:通过自动故障转移(Failover)机制,当主节点(Primary)不可用时,复制集中的从节点(Secondary)之一会被选举为新的主节点,从而保持服务的连续性。

  3. 读扩展:客户端可以将读操作分发到从节点上,从而减轻主节点的压力,提高整体读性能。

如何使用复制集:

1. 初始化复制集

在MongoDB中,你可以通过rs.initiate()命令在mongo shell中初始化一个新的复制集。假设你已经在三台不同的服务器上运行了MongoDB实例,并希望将它们配置为一个复制集。

# 登录到其中一个MongoDB实例的mongo shell
mongo # 切换到admin数据库(或任何你希望用于复制集配置的数据库)
use admin # 初始化复制集
rs.initiate({
_id: "rs0",
members: [
{ _id: 0, host: "mongodb-host1:27017" },
{ _id: 1, host: "mongodb-host2:27017" },
{ _id: 2, host: "mongodb-host3:27017" }
]
})

  在这里,_id是复制集的名称(这里使用了rs0作为示例),members数组列出了复制集中的所有成员及其主机名和端口。

2. 添加副本集成员

  要添加新的成员到现有的副本集中,可以使用以下命令:

rs.add("newNode.example.com:27017")

3. 删除副本集成员

  要从副本集中删除一个成员,可以使用以下命令:

rs.remove("nodeToRemove.example.com:27017")

4. 监控复制集状态

  使用rs.status()命令可以获取复制集的当前状态,包括每个成员的状态、复制延迟等信息。

use admin
rs.status()

5. 读写操作

  默认情况下,MongoDB的客户端会连接到复制集中的主节点进行写操作,并可以配置为从从节点读取数据以减轻主节点的负载。这通常通过连接字符串中的读偏好(Read Preference)设置来实现。

# 使用mongo shell连接到复制集(自动连接到主节点)
mongo mongodb://mongodb-host1:27017,mongodb-host2:27017,mongodb-host3:27017/yourdatabase?replicaSet=rs0 # 在你的应用程序中,你可能需要设置读偏好来从从节点读取数据
# 这取决于你使用的MongoDB驱动程序或客户端库

6. 故障转移和恢复

  如果主节点发生故障,复制集中的其他成员将检测到这一点,并启动故障转移过程。其中一个从节点将被选举为新的主节点,并且应用程序的连接(如果配置了自动重连)将自动切换到新的主节点。

mongo 副本集rs 理解和使用小结的更多相关文章

  1. mongo 副本集

    副本集配置文件 dbpath=/hwdata/mongodb/datalogpath=/hwdata/mongodb/logs/master.logpidfilepath=/hwdata/mongod ...

  2. mongo副本集设置主库权重,永远为主

    mongo副本集设置主库权重,即使主库宕机了再重启也还是主库. cfg = rs.conf()     ------->(查看序列)cfg.members[0].priority = 1 (设置 ...

  3. Mongo副本集搭建

    解压mongodb-linux-x86_64-rhel70-3.2.0.tgz 将解压后的bin路径添加到系统环境变量,保证mongo.mongod等命令可用 创建副本集目录mongo/27017.2 ...

  4. Mongo--03 mongo副本集、备份与恢复

    目录 一.mongo副本集配置 二.查看副本集状态 三.副本集权重调整 四.创建节点 五.仲裁节点 六.mongo备份与恢复 七.准备测试数据 一.mongo副本集配置 1.创建节点目录和数据目录 # ...

  5. 我们的一个已投产项目的高可用数据库实战 - mongo 副本集的搭建具体过程

    我们的 mongo 副本集有三台 mongo 服务器:一台主库两台从库. 主库进行写操作,两台从库进行读操作(至于某次读操作到底路由给了哪台,仲裁决定).实现了读写分离.这还不止,假设主库宕掉,还能实 ...

  6. mongo副本集搭建及服务器复用方案

    比较常见的mongodb副本集搭建是有:常规节点.数据副本.仲裁节点组成,也就是需要三台服务器组建.常规节点即数据的主存储节点,数据副本是主存储节点的从属节点,它定期去主节点获取更新日志来更新自己.仲 ...

  7. Mongo副本集的配置以及php node.js连接使用副本集

    最近弄了下mongodb的副本集, 首先说下没有认证情况的副本集,相对比较简单,因为环境有限,我在同一台服务器上做了模拟. --rest参数是打开web监控页面,比如我们这里监听37017端口,则打开 ...

  8. mongo 副本集+分片 配置

    服务器规划如下: 副本集名称|服务器IP 192.168.56.111 192.168.56.112 192.168.56.113 shard1 3201 3201 3201 shard2 3202 ...

  9. mongodb副本集配置

    需要用到mongodb的时候单个实例肯定是不行的,挂了怎么办,那然后呢,跟mysql一样搞主从备份吗,是可以的mongodb这么弄,不过官网已经不推荐了这么干了,推荐使用副本集的模式,然后数据再大一点 ...

  10. Mongodb主从复制/ 副本集/分片集群介绍

    前面的文章介绍了Mongodb的安装使用,在 MongoDB 中,有两种数据冗余方式,一种 是 Master-Slave 模式(主从复制),一种是 Replica Sets 模式(副本集). Mong ...

随机推荐

  1. 可视化—gojs 超多超实用经验分享(二)

    想了想序号还是接上一篇分享的的序号接着写,如果在本文中没有获取需要的答案,可以移步去看看上一篇的分享.gojs 超多超实用经验分享(一) 目录 22. 指定线段连接到节点的某一个特定的接口上 23. ...

  2. webpack4.15.1 学习笔记(二) — 配置及开发环境构建

    目录 基本安装 配置文件 管理资源 管理输出 构建一个开发环境 使用 source map 选择一个开发工具 观察模式 webpack-dev-server webpack-dev-middlewar ...

  3. iOS开发基础109-网络安全

    在iOS开发中,保障应用的网络安全是一个非常重要的环节.以下是一些常见的网络安全措施及对应的示例代码: Swift版 1. 使用HTTPS 确保所有的网络请求使用HTTPS协议,以加密数据传输,防止中 ...

  4. TS:菜单数组转树形,支持多级(递归)

    方法一 import {menus} from './menus.ts' function listToTree(list: any = [], options = {}, data = null) ...

  5. ASP.NET MVC / WebAPI 路由机制详解

    从MVC到WebApi,路由机制一直都在其中扮演着重要的角色. 它可以很简单:如果你只需要会用一些简单的路由,如/Home/Index那么你只需要配置一个默认路由就能搞定. 它可以很神秘:你的url可 ...

  6. 【Vue2】Filter 过滤器

    过滤器案例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  7. 【C3】04 工作原理

    我们已经知道了CSS是做什么的以及怎么写简单的样式这样基础的CSS, 接下来我将了解到浏览器如何获取CSS.HTML和将他们加载成网页. 前置知识: 基础计算机知识.基本软件安装.简单文件知识.HTM ...

  8. 【0基础】从零开始电子DIY!

    相关: 视频地址: https://www.bilibili.com/video/BV1xv4y137LL/ github地址: https://github.com/zhangwenchao1992 ...

  9. 深度学习框架 MindSpore —— 华为出品的AI计算框架, docker 安装

    深度学习框架  MindSpore  --   华为出品的AI计算框架 官网地址: https://www.mindspore.cn/ 源代码地址: https://gitee.com/devilma ...

  10. 【转载】 实时调度论文中经常出现的术语 ties broken arbitrary的意思 —— 看伪代码时出现 ties broken arbitrary

    看伪代码时突然看到这样的一个Ps标注, ties broken arbitrary,  不明白是啥意思,后来看到下文:https://blog.csdn.net/kangkanglhb88008/ar ...