配置一个隐藏的副本集节点

隐藏成员是副本集的一部分,但不能成为 主节点,并且对客户端应用程序不可见。隐藏节点可以在选举中投票。有关隐藏节点及其用途的更多信息,请参阅 隐藏副本集节点。

注意事项

隐藏节点最常见的用途是支持延迟节点。如果您只需要防止节点成为主节点,请配置优先级为 0 的节点。

如果settings.chainingAllowed设置允许从节点从其他从节点同步,则默认情况下,MongoDB 在选择同步目标时优先选择非隐藏节点而不是隐藏节点。MongoDB 只会选择隐藏节点作为最后的手段。如果您希望辅助从隐藏节点同步,请使用 replSetSyncFrom数据库命令覆盖默认同步目标。replSetSyncFrom 使用该命令前请参阅文档。

TIP

也可以看看:

管理链式复制

>

例子

节点配置文件

要将从节点配置为隐藏,请将其 members[n].priority0设置为并在其节点配置中将其members[n\].hidden值 设置为:true

{
  "_id" : <num>
  "host" : <hostname:port>,
  "priority" : 0,
  "hidden" : true
}

配置步骤

以下示例隐藏当前位于数组索引处的从节点 0members。要配置隐藏节点,请在 mongosh连接到主节点的会话,指定要通过其在数组中的数组索引进行配置的节点 members

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

重新配置集合后,该从节点的优先级为 , 0因此它无法成为主节点并被隐藏。集合中的其他节点不会在 hello命令或db.hello()方法输出中通告隐藏节点。

更新副本配置对象时,使用数组索引members访问数组 中的副本集节点。数组索引以. 不要将此索引值与数组中每个文档中的 字段值混淆。0members[n]._idmembers

WARNING

  • shell 方法可以强制当前rs.reconfig()primary 下台,从而导致选举。当主要步骤关闭时, mongod关闭所有客户端连接。虽然这通常需要 10-20 秒,但请尝试在计划的维护期间进行这些更改。
  • 避免重新配置包含不同 MongoDB 版本节点的副本集,因为验证规则可能因 MongoDB 版本而异。

相关文件

防止次要成为主节点 配置延迟副本集节点

原文链接 - https://docs.mongodb.com/manual/tutorial/configure-a-hidden-replica-set-member/

译者:陆文龙

Copyright © 上海锦木信息技术有限公司 all right reserved,powered by Gitbook文件修订时间: 2023-09-01 17:10:26

results matching ""

    No results matching ""