【问题标题】:How To assign priority to mongodb 3.2 replica?如何为 mongodb 3.2 副本分配优先级?
【发布时间】:2017-12-29 15:14:50
【问题描述】:

我有带有复制功能的 mongodb 数据库(1 个主计算机和 4 个辅助计算机,分别命名为 node1、node2、node3、node4 和 node5)。我想为节点分配优先级。如果node1 下降,那么node2 应该成为主要如果node1node2 下降,那么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

【问题讨论】:

  • rs.reconfig(cfg) 应该抛出错误“errmsg”:“不投票时优先级必须为 0 (votes:0)”。有同样的问题并接受了答案。

标签: mongodb mongodb-query mongo-shell


【解决方案1】:

您还必须配置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);

重要在 3.2 版中更改:

无投票权的成员必须有

优先级为0。优先级大于0的成员不能有0 投票。

要将成员配置为无投票权,请将其投票数和优先级值都设置为 0。

有关votespriority 的更多信息,请参阅MongoDB Documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-13
    • 1970-01-01
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多