我创建了一个3成员的副本集,以便我可以使用其中一个成员读取操作,而不会干扰主数据库的性能。MongoDB,副本设置和防止主要成为中学
为了实现这个目标,主数据库系统被配置为主数据库,另一个是优先级为0的辅助数据库,以便在中断时不接管主要角色,第三个数据库是仲裁者以帮助打破平局根据MongoDB的要求有奇数个成员。
在使用设置时,我注意到,如果我杀死仲裁者和我的次要成员,则主要成为次要成员。这会影响主数据库的读写访问,因为它的角色已更改。要解决这个问题,我必须重新启动主数据库并将其从副本集中删除,直到我的辅助和/或仲裁者恢复联机。
虽然两个系统出现故障或出现网络连接问题的可能性很低,但我已将此漏洞引入主数据库。有没有办法解决这个问题。我想到的一个想法是在另一台机器上添加另一个仲裁器,但是我不确定这是否可行,然后将其设置为均匀。
与弃用同意,这是过去的实验我尝试之一,而它的工作,它的每个成员在投掷警告说票数是无效的,所以我偏离了这一点。无论如何,从迄今为止的声音来看,应该是在多台机器上添加多个仲裁器,总数为奇数,并便于主系统保持为主要系统。 – 2014-10-02 23:53:30
另一种解决方法是将次数和仲裁者的投票数设置为0。仲裁者在这种情况下将变得毫无用处。 – anhlc 2014-10-03 00:03:58
我删除了仲裁者,并设置了我的第二个投票权= 0。这解决了我的担忧,当我启动mongo控制台时没有发出警告。谢谢! – 2014-10-03 00:45:14