我需要设置一个带有两个分片的MongoDB集群。每个分片包含3个副本成员:主要,辅助和仲裁。我已经打开了mongos的防火墙规则,可以与主节点和辅助节点通信,但不能与仲裁节点通信。我尝试连接到mongos,执行 sh.addShard(),看看它是否正常工作。
我的问题是,我们真的需要允许mongos与仲裁者互动吗? 从this link开始,我们知道mongos并没有与隐藏的成员交谈,但是没有提及仲裁者。
答案 0 :(得分:0)
mongos 需要查看所有节点,包括 arbiters ,以便提供透明的故障转移。
在正常情况下,当所有3个副本节点(主要,辅助和仲裁者)都启动时, mongos 不需要查看仲裁者。但是当只有一个主仲裁器和一个仲裁器时, mongos 需要检查仲裁器以确保选举过程中没有网络分区错误。