调整副本集节点的优先级

概述

副本集节点的priority设置会影响主要选举的时间和结果。优先级高的节点更有可能发起选举,也更有可能获胜。使用此设置可确保某些节点更有可能成为主节点,而其他节点永远不会成为主节点。

节点 priority设置的值决定了节点的priority参选。数字越大,优先级越高。

注意事项

要修改优先级,请更新members 副本配置对象中的数组。数组索引以 0. 不要将此索引值与数组中副本集节点字段的值混淆members[n\]._id的值可以是和priority之间的任意浮点数(即十进制)。该字段的默认值为。0``1000``priority``1

要阻止节点寻求选举为主节点,请为其分配优先级0隐藏节点延迟节点priority设置为0

仲裁者优先0

在计划的维护窗口期间调整优先级设置。重新配置优先级可以强制当前的主节点下台,从而导致选举。在选举之前,主节点关闭所有打开的 客户端连接。

优先权和投票

members[n\].priority并且members[n\].votes 有如下关系:

因此,增加非投票节点需要*设置并增加投票副本集节点的数量。在增加无投票权节点的优先级之前,请考虑以下事项:priority votes1

程序

WARNING

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

将副本集配置复制到一个变量。

mongosh,用于rs.conf()检索副本集配置并将其分配给变量。例如:

cfg = rs.conf()

更改每个节点的优先级值。

按照数组中的配置更改每个节点的members[n].priority 值。members

cfg.members[0].priority = 0.5
cfg.members[1].priority = 2
cfg.members[2].priority = 2

此操作序列修改 的值以设置数组cfg中定义的前三个节点的优先级 。members

3个

为副本集分配新配置。

用于rs.reconfig()应用新配置。

rs.reconfig(cfg)

此操作使用 的值定义的配置更新副本集的配置cfg

Member Configuration TutorialsPrevent Secondary from Becoming Primary

原文链接 - https://docs.mongodb.com/manual/tutorial/adjust-replica-set-member-priority/

译者:陆文龙

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

results matching ""

    No results matching ""