3.Mongodb 复制集RS

server/2024/10/18 7:56:05/
  • MongoDB复制集是Mongodb提供的一种高可用和数据冗余的解决方案,复制集由多个MongoDB服务器组成,其中一个服务器作为主节点(Primary),处理所有写操作,而其他服务器作为从节点(Secondary)同步主节点的数据。
  • 如果主节点不可用,复制集将紫东阁进行选举,提升一个从节点为新的主节点,确保服务器的连续性和数据的一致性。
  • MongdoDB复制集的基本原理:
    • Primary节点将数据修改操作记录到本地的oplog(操作日志,在local库下)中,Seconday节点定期到Primary节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证Seconday与Primary数据一致。
  •  
    • 三类节点:
      • 1.主节点(Primary)
        • 主节点是复制集中的领导者,负责处理所有的写操作
        • 主节点将所有的操作都记录在操作日志(oplog)中,从节点通过复制这个日志来保持数据的一致性
        • 在一个复制集当中,只有一个主节点
      • 2.从节点(Secondary):
        • 从节点复制主节点的数据,保持数据的冗余
        • 从节点可以处理读操作
        • 如果主节点不可用,复制集将自动选举一个从节点作为新的主节点
        • 在一个复制集当中,可以有多个从节点
      • 3.仲裁者节点(Arbiter)
        • 仲裁者节点不复制数据,也不提供数据服务
        • 主要作用是在选举过程中参与投票,以确保复制集能够快速进行故障转移
        • 仲裁者节点是一个轻量级的进程,不需要太多的系统资源
  • 实验准备环境:
    • 3个以上的Mongodb节点(或者多实例)
    • 这里使用多实例来代替Mongodb节点
    • 每个服务器端口:
      • 28017、28018、28019、28020
  •  
    • 实验步骤:
      • 配置文件:
        • cat > /mongodb/28017/conf/mongod.conf <<EOF
        • systemLog:
        • destination: file
        • logAppend: true
        • storage:
        • journal:
        • enabled: true
        • directoryPerDB: true
        • #engine: wiredTiger
        • wiredTiger:
        • engineConfig:
        • cacheSizeGB: 1
        • directoryForIndexes: true
        • collectionConfig:
        • blockCompressor: zlib
        • indexConfig:
        • prefixCompression: true
        • processManagement:
        • fork: true
        • net:
        • bindIp: 192.168.8.5,127.0.0.1
        • port: 28017
        • replication:
        • oplogSizeMB: 2048
        • replSetName: my_repl
        • EOF
        • sed 's#28017#28018#g' /mongodb/28018/conf/mongod.conf -i
        • sed 's#28017#28019#g' /mongodb/28019/conf/mongod.conf -i
        • sed 's#28017#28020#g' /mongodb/28020/conf/mongod.conf -i
      • 启动每个实例:
        • mongod -f /mongodb/28017/conf/mongod.conf
        • mongod -f /mongodb/28018/conf/mongod.conf
        • mongod -f /mongodb/28019/conf/mongod.conf
        • mongod -f /mongodb/28020/conf/mongod.conf
      • 查看端口:
        • netstat -lnp|grep 280
      • 配置普通复制集:
        • 结构:一主两从,从库为普通从库
        • 创建主从:
          • config = {_id: 'my_repl', members: [
        • {_id: 0, host: '192.168.8.5:28017'},
        • {_id: 1, host: '192.168.8.5:28018'},
        • {_id: 2, host: '192.168.8.5:28019'},
        • {_id: 3, host: '192.168.8.5:28020'}]
        • }
        • 查询复制集状态:
          • rs.status();
      • 复制集管理操作:
        • 查看复制集状态
          • rs.status(); //查看整体复制集状态
          • rs.isMaster(); // 查看当前是否是主节点
          • rs.conf(); //查看复制集配置信息
          • rs.slaveOk(); //从节点临时可读
        • 添加删除节点
          • rs.remove("ip:port"); // 删除一个节点
          • rs.add("ip:port"); // 新增从节点
          • rs.addArb("ip:port"); // 新增仲裁节点

http://www.ppmy.cn/server/48630.html

相关文章

给文件夹加密的最简单方法

安当TDE透明加密针对文件夹数据加密的保护方案主要包括以下几个方面&#xff1a; 1. 透明加密机制&#xff1a; 用户无需关心数据的加密和解密过程&#xff0c;操作文件夹时就像处理普通数据一样。加密和解密操作在后台自动进行&#xff0c;对用户和应用程序透明。 2. 高性能加…

Shell编程

Shell编程 一、简介学习shell脚本的目的shell脚本的阶段脚本执行的两种方法shell分类 二、Bash基本功能1. history &#xff08;列出当前用户的当前终端的历史命令缓存信息&#xff09;2. echo命令 &#xff08;输出结果&#xff09;2.1 -e选项支持的特殊符号列表2.2 echo 显示…

高精度定位技术的必要性与实际应用

在当今社会&#xff0c;随着科技的飞速发展&#xff0c;高精度精准定位技术已成为一项不可或缺的基础技术&#xff0c;其应用范围涉及军事、航空、智能交通、无人驾驶、智慧城市建设等众多领域。高精度精准定位不仅为人们的日常生活带来极大便利&#xff0c;还对提升国家的科技…

kafka-消费者-消费异常处理(SpringBoot整合Kafka)

文章目录 1、消费异常处理1.1、application.yml配置1.2、注册异常处理器1.3、消费者使用异常处理器1.4、创建生产者发送消息1.5、创建SpringBoot启动类1.6、屏蔽 kafka debug 日志 logback.xml1.7、引入spring-kafka依赖1.8、消费者控制台&#xff1a;1.8.1、第一次启动SpringK…

【Python】实现极致:克服PyInstaller打包挑战,解决libpython3.10.so.1.0库丢失难题

【Python】实现极致&#xff1a;克服PyInstaller打包挑战&#xff0c;解决libpython3.10.so.1.0库丢失难题 大家好 我是寸铁&#x1f44a; 总结了一篇【Python】实现极致&#xff1a;克服PyInstaller打包挑战&#xff0c;解决libpython3.10.so.1.0库丢失难题✨ 喜欢的小伙伴可以…

英伟达最新GPU和互联路线图分析

Nvidia在计算、网络和图形领域独树一帜&#xff0c;其显著优势在于雄厚的资金实力及在生成式人工智能市场的领先地位。凭借卓越的架构、工程和供应链&#xff0c;Nvidia能够自由实施创新路线图&#xff0c;引领行业未来。 到 21 世纪&#xff0c;Nvidia 已经是一个非常成功的创…

Unity 设置默认字体(支持老版及新版TMP)

普通UI-Text设置 &#xff08;同一unity版本设置一次即可&#xff09; 1.首先工程的Resources目录下创建Fonts文件夹用于存放字体 如下图所示 2.找到Unity的安装目录下的Editor\Data\Resources\PackageManager\BuiltInPackages\com.unity.ugui\Runtime\UI\Core\Text.cs文件 …

若依对数据二次处理导致查询total只有十条的问题处理办法

前言&#xff1a; 在使用若依框架的过程中&#xff0c;如果是查询结果数据直接返回&#xff0c;那么其自带的分页插件可以正常返回数据以及总条数&#xff0c;若是在业务逻辑层对数据进行了其他二次处理&#xff0c;再返回就会出现异常&#xff0c;无论查询了多少条&#xff0…