本文共 1296 字,大约阅读时间需要 4 分钟。
MongoDB中Replica Set的配置与操作指南
在每个MongoDB实例中,本地数据库(local)存储Replication进程的信息和本地数据。local数据库的数据不会被Replication复制到其他实例。如果需要存储不会被复制的集合和数据,可以将它们放在local数据库中。
MongoDB Shell提供rs命令组件,用于维护Replica Set。
一、Replica Set配置
Replica Set的配置信息存储在local.system.replset集合中,配置信息相同的成员共享同一个集合,不能直接修改该集合,只能通过rs.initiate()初始化,rs.reconfig()重新配置。
配置信息包括id值和member数组。重要参数包括priority、hidden、slaveDelay、votes、arbiterOnly和buildIndexes。
rs.reconfig()支持在Primary节点或Secondary节点上执行,在Primary缺失时,可以使用force参数强制配置。示例:调整Priority属性。
3.1 使用默认配置添加成员或arbiter
rs.add("host:port")添加成员,rs.add("host:port", true)添加arbiter。
3.2 使用自定义配置添加成员
如添加延迟备份隐藏节点,属性设置:{_id:4, host: "host:port", priority:0, hidden:true, slaveDelay:3600, votes:0, buildIndexes:true, arbiterOnly:false}。
rs.remove("host")删除成员。
5._MEMBER attribute修改
二、Replica Set成员操作
rs.freeze(seconds)使成员无法成为Primary。
rs.stepDown(stepDownSecs, secondaryCatchUpPeriodSecs)将Primary退化为Secondary。
rs.syncFrom("host:port")强制同步。
rs.slaveOk()允许Slave节点访问数据。
三、Replica Set状态查看
状态包括set名称、state状态、成员详情、HeartbeatInterval、SyncTo目标。
四、操作日志
Replication基于oplog集合的复制。oplog记录操作,拆分多_doc命令执行。
oplog是特殊capped集合,存储操作日志,所有成员都有副本。默认大小5%磁盘空间(~1GB)。
三、开机日志
local.startup_log记录启动日志。
参考文档
转载地址:http://qnfzk.baihongyu.com/