mongodb 副本集可以是两台机子吗?

新手上路,请多包涵

项目需求,两台机子互备,三台机子集群。
mongodb主从无法自动切换,因此在考虑副本集。
mongodb副本集我在晚上查阅了资料,都是最少配置三台机子,我想问下配置两台机子是否可以?
或者猜想,两台机子各配置4个实例。不知道是否可行?

阅读 7.5k
3 个回答

肯定可以的。主要端口不一样,同一台机器也都是可以的。
另外主机不要使用同一个数据目录。

不可行,mongodb要求副本集必须是3个及以上的奇数节点,2个节点没法选举出leader,会导致你的集群一直处于不可用状态。

但是作为测试环境使用,是可以部署在单节点上的,只要使用不同端口分开实例即可: https://docs.mongodb.com/manu...

新手上路,请多包涵

自己回答下把:
先说结论:经过实际测试不行,目前已经放弃副本集。改用mongo主从配合keepalived切换。
背景:双机热备,两台机子各部署一个mongo,设置为副本集,从不支持读写,master的mongo重启后还是主。
原因:mongo副本集设置后,主从第一次切换,从变为主是可以正常写入的。但是当再次切换,也就是第二次切换,原主切为主,原从切为从时,会发生脑裂开。
原因可能不太对,也欢迎大神补充,

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进