Docs 菜单

Docs 主页开发应用程序MongoDB Manual

配置延迟的副本集成员

在此页面上

  • 例子
  • 相关文档

要配置延迟的从节点成员,请将其 members[n].priority值设置为0 ,将其members[n].hidden值设置为true ,并将其members[n].secondaryDelaySecs值设置为要延迟的秒数。

重要

从节点members[n].secondaryDelaySecs的长度必须适合 oplog 的窗口。如果 oplog 短于members[n].secondaryDelaySecs窗口,则延迟成员无法成功复制操作。

配置延迟节点时,延迟会同时应用于复制和节点的oplog 。有关延迟成员及其用途的详细信息,请参阅延迟副本集成员。

以下示例在当前位于members数组中索引0的从节点上设置了1小时延迟。要设置延迟,请在连接到主节点的 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值会将复制和成员的oplog延迟3600秒( 1小时)。

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

警告

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

  • 避免重新配置包含不同 MongoDB 版本节点的副本集,因为验证规则可能因 MongoDB 版本而异。

← 配置隐藏的副本集成员

在此页面上