如何为 mongodb 3.2 副本分配优先级?
How To assign priority to mongodb 3.2 replica?
我有 mongodb 具有复制功能的数据库(1 个主计算机和 4 个辅助计算机,分别命名为 node1、node2、node3、node4 和 node5)。我想为节点分配优先级。如果 node1
出现故障,那么 node2
应该成为主要的 如果 node1
和 node2
出现故障,那么 node3
应该成为主要的,依此类推。
我正在尝试使用以下命令分配优先级,但它没有改变:
cfg = rs.conf()
cfg.members[0].priority = 20
cfg.members[1].priority = 15
cfg.members[2].priority = 10
cfg.members[3].priority = 5
cfg.members[4].priority = 1
rs.reconfig(cfg)
我正在使用 Mongodb 版本:3.2
您还必须配置 votes。
cfg = rs.conf()
cfg.members[0].votes = 1;
cfg.members[0].priority = 20;
cfg.members[1].votes = 1;
cfg.members[1].priority = 15;
cfg.members[2].votes = 1;
cfg.members[2].priority = 10;
cfg.members[3].votes = 1
cfg.members[3].priority = 5;
cfg.members[4].votes = 1
cfg.members[4].priority = 1;
rs.reconfig(cfg);
IMPORTANT Changed in version 3.2:
Non-voting members must have
priority of 0. Members with priority greater than 0 cannot have 0
votes.
To configure a member as non-voting, set both its votes and priority values to 0.
请参阅 MongoDB 文档 了解有关 votes 和 优先级 的更多信息。
我有 mongodb 具有复制功能的数据库(1 个主计算机和 4 个辅助计算机,分别命名为 node1、node2、node3、node4 和 node5)。我想为节点分配优先级。如果 node1
出现故障,那么 node2
应该成为主要的 如果 node1
和 node2
出现故障,那么 node3
应该成为主要的,依此类推。
我正在尝试使用以下命令分配优先级,但它没有改变:
cfg = rs.conf()
cfg.members[0].priority = 20
cfg.members[1].priority = 15
cfg.members[2].priority = 10
cfg.members[3].priority = 5
cfg.members[4].priority = 1
rs.reconfig(cfg)
我正在使用 Mongodb 版本:3.2
您还必须配置 votes。
cfg = rs.conf()
cfg.members[0].votes = 1;
cfg.members[0].priority = 20;
cfg.members[1].votes = 1;
cfg.members[1].priority = 15;
cfg.members[2].votes = 1;
cfg.members[2].priority = 10;
cfg.members[3].votes = 1
cfg.members[3].priority = 5;
cfg.members[4].votes = 1
cfg.members[4].priority = 1;
rs.reconfig(cfg);
IMPORTANT Changed in version 3.2:
Non-voting members must have
priority of 0. Members with priority greater than 0 cannot have 0 votes.
To configure a member as non-voting, set both its votes and priority values to 0.
请参阅 MongoDB 文档 了解有关 votes 和 优先级 的更多信息。