MongoDB复制集实战
文章目录
配置
不同机器的MongoDB服务进程使用相同启动参数运行:
 | 
 | 
三台机器运行起来后,再在三台当中任何一台中执行:
 | 
 | 
管理
- 重新配置复制集
 
 | 
 | 
- 
延迟备份节点
主动设置备份节点从主节点同步数据的延时。在初始化复制集时,通过
slaveDelay参数指定。 - 
索引忽略
备节点可能只是备份作用,并不提供查询。因此为节约磁盘空间,不需要在备节点上创建索引,那么在初始化时,通过
buildIndexs: false指定不创建索引。该选项是永久选项,并要求主机节点的优先级(priority)为0. - 
隐藏节点
节点不希望被客户端连接并查询。比如因硬件性能差,只是起备份作用。通过参数
hidden: true。只有priority为0的节点才能隐藏。 - 
主节点降级
/* 主节点降为备节点,并等待120秒选举。如果120秒后未选举出新主节点,重新成为主节点 */ rs.stepDown(120); - 
单机模式运行
因为在复制集模式下,不能修改备份节点的相关参数。如果要修改备份节点相关参数,则需要通过单机模式下启动服务
1 2 3 4 5 6 7# 先获取当前进程的启动参数,主要关注dbpath选项以及复制集的名称 db.serverCmdLineOpts(); # 停止掉备份进程,并以相同dbpath,不同端口。以单机模式启动服务.假设之前的dbpath为/data/db mongod --port 3001 --dbpath /data/db # 相关执行操作完成后,继续以之前的命令行参数启动即可。会自动从停止前的位置进行同步 - 
备节点进入维护模式,对客户端不可见
1 2# true为维护模式,恢复时修改为false即可 db.adminCommand({"replSetMaintenanceModel": true}) - 
查看
oplog使用情况1db.printReplicationInfo() 
文章作者 UnknowName
上次更新 2020-10-13