我有一个CouchDB集群,在3个节点(n = 3)上运行9个分片。我关闭了运行节点的三个实例,并使用新的内部IP地址创建了3个新实例。在此之后我得到了#34;数据库无法加载"数据库的错误。
我开始阅读有关移动分片的内容,我知道从2.1.0到2.1.1时的变化(如this question中所述)。
在尝试解决此问题时,我修改了其中一个节点的数据副本,以尝试调整_dbs元数据。但是,我想我只是弄乱了元数据。
我在想,为了解决这个问题,我可以:
更改其中一个节点的IP地址以匹配旧IP地址。
使用原始数据副本在此实例上启动集群。
告诉CouchDB从群集中删除有关两个不起作用的节点的_membership信息。
使用新的IP地址向群集添加两个新节点。
...然后集群可能会将一个节点的分片同步到所有三个节点,一切都会有效吗?
仍然试图弄清楚CouchDB 2.1.1群集是如何工作的,以便了解CouchDB文档以外的任何信息。