MongoDB复制集选举原理管理
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,MongoDB 复制集概述复制集是额外的数据副本,是跨多个服务器同步数据的过程,复制集提供了沉余添加了数据可用性,通过个复制集可以对硬件故障中断的服务进行恢复复制集的优势如下:让数据更安全。高数据可用
千家信息网最后更新 2025年11月10日MongoDB复制集选举原理管理
MongoDB 复制集概述

- 复制集是额外的数据副本,是跨多个服务器同步数据的过程,复制集提供了沉余添加了数据可用性,通过个复制集可以对硬件故障中断的服务进行恢复
复制集的优势如下:
- 让数据更安全。
- 高数据可用性(24*7)
- 灾难恢复
- 无停机维护(如备份、索引重建、故障转移)
- 读缩放(额外的副本读取)
- 副本集对应用程序是透明的。
复制集工作原理
- MongoDB 的复制集至少需要两个节点,其中一个主节点(primary),负责处理客户端的请求,其余的都是从节点(secondary),负责复制主节点上的数据。
- MongoDB 各节点常见的搭配方式为:一主一从或者一主多从。主节点记录其所有操作到oplog中,从节点定期轮询主节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证从节点的数据与主节点译者。
复制集特点如下:
- N个节点群阶
- 任何节点客作为主节点
- 所有写入操作都在主节点
- 自动故障转移
- 自动恢复
开始部署
创建多实例 //创建多实例关闭防火墙 setenforce //一些阻挡项目mkdir -p /data/mongodb/mongodb{2,3,4} //创建数据目录mkdir logs //到/data/mongodb/创建日志文件目录touch logs/mongodb{2,3,4}.log //创建日志文件cd logs/到目录下chmod 777 *.log //赋予权限//创建多实例配置文件,并开启服务mongod -f /etc/mongod.conf --shutdown //修改完主配置文件并且进行关闭在开启mongod -f /etc/mongod.conf //挨个开启所有服务进入默认的端口 开启复制集cp -p /etc/mongod.conf /etc/mongod2.conf //地二个实例配置文件vim /etc/mongod2.conf path: /data/mongodb/logs/mongod2.log //系统日志存放路径 dbPath: /data/mongodb/mongo //数据存放日志 port: 27018 //端端口mkdir -p /data/mongodb/ //为其创建系统日志和数据存放日志没有目录cd /data/mongodb/ mkdir mongo touch mongod2.log //为其创建系统日志文件chmod 777 mongod2.log //并且给与权限mongod -f /etc/mongod2.conf //开启多实例服务mongo --port 27018 //进入mongodb 27018netstat -ntap //产看进程cfg={"_id":"abc","members":[{"_id":0,"host":"192.168.10.5:27017","priority":100},{"_id":1,"host":"192.168.10.5:27018","priority":100},{"_id":2,"host":"192.168.10.5:27019","priority":0},{"_id":3,"host":"192.168.10.5:27020","arbiterOnly":true}]} //注意IP优先级来判断priority":100 //高的做为表准节点priority":0 //低的就作为被动节点arbiterOnly":true //仲裁节点rs.initiate(cfg) //初始化刷新 之后就可以看到自己的身份了rs.isMaster() //查看节点状态基本的增删改查db.t1.insert({"id":1,"name":"tom"}) //创建集合db.t1.find() //查看当前数据db.t1.update({"id":2},{$set:{"name":"jack"}}) //修改指定内容db.t1.remove({"id":1}) //删除指定数据- 模拟故障节点实验是否能自动抢占
show dbs //显示所有数据库use local //进入存放日志文件的数据库show collections //显示数据中的所有的集合db.oplog.rs.find() #查看日志记录所有操作模拟表准节点1故障mongod -f /etc/mongod.conf --shutdown #关闭一主节点服务看看是否别的mongoDB有没有抢占mongo --port 27018 #此时会选举第二个标准节点为主节点模拟标注节点2故障mongod -f /etc/mongod2.conf --shutdown #关闭第二主节点mongo --port 27019 #此时被动节点不能成为主节点- 允许从节点读取数据
rs.slaveOk() #允许默认从节点读取数据 - 查看复制状态信息

仲裁节点是不会复制信息
rs.help() #帮助信息
rs.printReplicationInfo() #查看日志文件大小信息
configured oplog size: 990MB #这个日志文件大小是可以修改的
rs.printSlaveReplicationInfo() #产看是和那个节点继进行同步
#你会发现仲裁节点并不具备数据复制
- 更改oplog大小 零时修改- 要去调整日志文件大小,从节点会去找主节点进行
同步对方的文件从而自己也进行了扩容,对于主节点来
说自己的日志文件大小宽裕为最佳,若不够则可以零时
进行调整 默认情况下990M,调整从节点
1) 关闭节点服务,因为从节点是主节点复制集成员
2)只能单独的进行修改,先关闭服务在从复制集中退出来,推出来后就成了一个单实例 ,
3)use admin #先关闭服务
4)db.shutdownServer() #退出复制集 离线升级
5)修改从节点配置文件
6)mongod -f /etc/mongod2.conf //启动服务
7)mongo --port 27028 //登陆
8)mongodump --port 27028 --db local --collection 'oplog.rs' //oplog进行完整性备份
9)mongo --port 27028 //进端口
10)use localdb.oplog.rs.drop() //删掉原来的文件
11)db.runCommand( { create: "oplog.rs", capped: true, size: (2 1024 1024 * 1024) } ) //进行原型创建 改为2048
12)use admin
db.shutdownServer() //再次关闭服务
13)再次修改回来原先的数据 在replication:
replSetName: abc
oplogSizeMB: 2048 //添加
14)mongod -f /etc/mongod2.conf //重新开启服务 mongo --port 27018 进入端口
15)rs.printReplicationInfo() //此时就成了2048 支对但对修改有效
16)rs.stepDown() #有效产生选举 在主的里面让出主的身份- 部署认证复制
1. 在主服务器上长创建用户为rootuse admin db.createUser({"user":"root","pwd":"123","roles":["root"]}) #创建用户密码vim /etc/mongod.conf //修改主配置文件同步并且中间有一个认证 修改所有配置文件security: keyFile: /usr/bin/kgcrskey1 //验证文件路径 clusterAuthMode: keyFile //验证密钥重启服务mongod -f /etc/mongod.conf --shutdownmongod -f /etc/mongod.conf /其他几台的重启方式都相同,重复操作即可身份验证登陆(先验证主,再验证从)当你直接使用登陆命令登陆系统时,使用show dbs 是不能够查看数据的,此时就需要使用身份验证mongo --port 27018use admindb.auth("root","123123")
节点
数据
文件
服务
日志
实例
故障
配置
验证
大小
信息
副本
目录
系统
身份
同步
登陆
端口
仲裁
调整
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
迷你世界如何经营服务器
first软件开发
铁路网络安全反思
智简魔方变更数据库
了解数据库技术及应用
access数据库365
泰州小型网络技术诚信服务
南阳彬海网络技术有限公司
共享文件服务器
虚拟机建立服务器
信息和网络安全会议
美多啦互联网科技公司怎么样
部队如何使用手机网络安全
传奇3手游服务器搭建教程
目前网络安全的工作内容
windows10设置网络安全
达芬奇如何连接数据库
dvr流媒体服务器
观网络安全大会有感
网络安全密钥密码
sci数据库最新消息
服务器的安全证书未生效
网络安全积极的一面
微信本地json数据库
fm 数据库 大小
河南电子软件开发公司
大话西游手游查服务器
河南省慢跑网络技术有限公司
安徽软件开发哪家实惠
亲家网络技术有限公司怎么样