配置非投票副本集节点

无投票权的节点允许您添加,最多有七名投票成员之外进行阅读分发。

要将节点配置为无投票权,请使用 replSetReconfig命令mongoshrs.reconfig()将其 members[n].votesmembers[n].priority值设置为0。非投票副本集节点priority必须 为0

NOTE

从 MongoDB 4.4 开始,副本重新配置一次只能添加或删除一个投票副本集节点。要修改多个节点的投票,发出一系列 replSetReconfigrs.reconfig()操作以一次修改一个节点。有关详细信息,请参阅 重新配置一次最多只能添加或删除一个投票节点

程序

以下过程将单个从节点 副本集节点配置为非投票。要将主节点转换为无投票权节点,您必须首先使用replSetStepDown或其shell帮助程序成功降低主节点,rs.stepDown()然后再执行此过程。

  • 1)连接到副本集主节点

    连接mongosh到副本集primary :mongosh --host "<hostname>:<port>"<hostname>和替换<port>为副本集主副本的主机名和端口。包括部署所需的任何其他参数。

  • 2) 检索副本配置

    在 shell 中发出rs.conf()方法并将结果分配给变量cfgcfg = rs.conf();返回的文档包含一个 members数组,其中数组中的每个元素都包含单个副本集节点的配置。

  • 3) 将节点配置为无投票权

    要将副本节点更改为无投票权,请将其votespriority设置为0cfg.members[n].votes = 0;cfg.members[n].priority = 0;替换n为要修改的成员的数组索引位置。该members数组是零索引的,其中数组中的第一个元素的索引位置为 0。数组中节点的数组索引位置 不同于特定节点的 members数组索引位置。不要使用来引用 中任何成员的数组索引 位置members[n]._id_idmembers

  • 4) 使用新配置重新配置副本集

    使用rs.reconfig()方法使用更新的副本集配置文档重新配置副本集。rs.reconfig(cfg);

WARNING

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

相关文件

Configure a Delayed Replica Set MemberConvert a Secondary to an Arbiter

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

译者:陆文龙

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

results matching ""

    No results matching ""