如何从'n'个服务器中识别MongoDB主服务器
问题描述:
我们已经设置了4个服务器,我想知道哪个服务器充当主服务器,以及它从其他服务器获得的投票数。如何从'n'个服务器中识别MongoDB主服务器
我知道我可以Force a particular to act as Primary Server
问题:如何知道一个特定的服务器,在给定的时间点是主服务器?
在member configuration我们可以设置优先喜欢以下内容:
cfg = rs.conf()
cfg.members[0].priority = 2
cfg.members[1].priority = 1
cfg.members[2].priority = 0.5
cfg.members[3].priority = 0
rs.reconfig(cfg)
但其仍无法保证,这将是一个主服务器。在docs声明说“会员0到2的优先级,使之成为主要的,在大多数情况下。”
谁能知道,我怎么能够知道我当前的主服务器?
答
如果您想知道在任何给定时间哪个节点是主节点,那么rs.isMaster().primary
就是您需要的命令。它可以在复制集中的任何节点上运行。