OPTIONS
翻译或纠错本页面

修改复制集节点的优先级

概述

复制集节点的优先级影响了 elections 的结果。我们通过设置不同的优先级来提高部分节点成为主节点的可能性,也可以让某些节点不能成为主节点。

复制集节点的 priority 参数的值决定了选举中该节点的优先级。值越高,优先级越高。

注意事项

我们可以通过修改复制集配置参数中 members 数组位置的优先级来修改对应机器的优先级。数组索引从 0 开始。不要将数组下标与数组 _id 混淆。

The value of priority can be any floating point (i.e. decimal) number between 0 and 1000. The default value for the priority field is 1.

To block a member from seeking election as primary, assign it a priority of 0. Hidden members, delayed members, and arbiters all have priority set to 0.

在维护视窗时间内修改优先级。修改优先级会使主节点降职并触发选举。在选举前,主节点将关闭所有已有连接。

步骤

1

将复制集配置赋值给一个参数。

mongo 中执行 rs.conf() 来将复制集配置赋值给一个参数,例如:

cfg = rs.conf()
2

修改每个节点的优先级。

通过 members 来修改每个节点的 priority

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

这些操作修改了参数 cfgmembers 前三个节点的优先级。

3

更新复制集配置。

通过 rs.reconfig() 来应用新的配置

rs.reconfig(cfg)

该操作通过应用参数 cfg 中的配置来更新复制集配置。