转载请注明出处:

  在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. 题解:B3646 数列前缀和 3

    分析 板子题,线段树维护矩阵区间积,除了难写没什么思维难度. 所以直接放代码吧. Code #include<bits/stdc++.h> #define int long long us ...

  2. 【Ubuntu】下载安装 20.04.版本 桌面端

    下载 Download 这次的是直接在界面上下载的,我都不知道为什么怎么点到之前的版本去了 12.04.5远古版本界面怪难看的... [下载地址:点我访问] https://cn.ubuntu.com ...

  3. 什么是3D扫描技术?

    相关: https://www.bilibili.com/video/BV1fN4y1z7uD/?vd_source=f1d0f27367a99104c397918f0cf362b7 接触式:就是使用 ...

  4. If Messi doesn't understand how to respect others, then he also doesn't deserve to receive respect from others.

    If Messi doesn't understand how to respect others, if he doesn't understand the spirit of honoring c ...

  5. windows10操作系统QQ音乐开全局音效后频繁出现报错,鼠标卡顿,系统死机等问题——解决方法

    如题: windows10操作系统QQ音乐开全局音效后频繁出现报错,鼠标卡顿,系统死机等问题. QQ音乐,开启全局音效,提示需要重启: 重启电脑后发现出现频繁卡机,鼠标卡顿,甚至短暂的死机现象,查看控 ...

  6. 中美在AI领域差距12个月

    看到一个新闻: <马斯克再谈AI:中美差距12个月> 其实想想这个评价也还中肯,尽管这些年国内AI大有弯道超车之势,但是不可否认的是由于欧美的历史领先优势和强大的科研及商业上的独立创新能力 ...

  7. baselines算法库common/vec_env/util.py模块分析

    util.py模块代码: """ Helpers for dealing with vectorized environments. """ ...

  8. 键盘中上、下、左、右四个光标键所对应的ASCII码值为多少

    首先给出ASCII码值表: 上.下.左.右这四个光标键对应的ASCII码值不是一个值而是三个,准确的说光标键的ASCII码值是一个组合. 每个方向键所对应的三个键值为:0x1b + 0x5b + n ...

  9. Singleton bean creation not allowed while singletons of this factory are in destruction

    1.背景 一直都是正常运行的程序,检查日志发现有一条报错如下: org.springframework.beans.factory.BeanCreationNotAllowedException: E ...

  10. 一文搞懂DevOps、DataOps、MLOps、AIOps:所有“Ops”的比较

    引言 近年来,"Ops"一词在 IT 运维领域的使用迅速增加.IT 运维正在向自动化过程转变,以改善客户交付.传统的应用程序开发采用 DevOps 实施持续集成(CI)和持续部署( ...