文档菜单
文档首页
/
MongoDB 手册
/ / /

配置延迟自管理副本集成员

本页内容

  • 示例
  • 相关文档

要配置延迟的辅助成员,请设置其members[n].priority的值为0,其members[n].hidden的值为true,以及其members[n].secondaryDelaySecs的值为延迟的秒数。

重要

辅助成员的members[n].secondaryDelaySecs的长度必须适合oplog的时间窗口。如果oplog比members[n].secondaryDelaySecs窗口短,延迟的成员无法成功复制操作。

配置延迟成员时,延迟既适用于复制也适用于成员的oplog。有关延迟成员及其用途的详细信息,请参阅延迟副本集成员。

以下示例将一个位于members数组索引0的辅助成员延迟设置为1小时。要在连接到主节点的mongosh会话中设置延迟,请执行以下操作序列:mongosh

cfg = rs.conf()
cfg.members[0].priority = 0
cfg.members[0].hidden = true
cfg.members[0].secondaryDelaySecs = 3600
rs.reconfig(cfg)

副本集重新配置后,延迟的次要成员无法成为主节点,并且从应用程序中隐藏。代码members[n].secondaryDelaySecs的值将复制和成员的操作日志延迟3600秒(1小时)。

在更新副本集配置对象时,使用数组索引通过members数组访问副本集成员。数组索引从0开始。请勿将此索引值与members[n]._id字段的值混淆,该字段位于members数组中的每个文档中。

警告

  • rs.reconfig() shell方法可以强制当前主节点下线,从而引发选举。当主节点下线时,mongod关闭所有客户端连接。虽然这通常需要10-20秒,但请在计划维护期间尝试这些更改。

  • 避免重新配置包含不同MongoDB版本成员的副本集,因为验证规则可能在不同MongoDB版本之间有所不同。

返回

隐藏成员

本页内容