只是想了解一个场景,如果主碎片聚集在一起。
,所以我有一个Mongo数据库的设置,其中有4个碎片在复制集.中运行。
shard-1 == Server 1 (Primary), shard-1 Server 2 (Secondary), shard-1 - Server 3 (Secondary)
shard-2 == Server 4 (Primary), shard-2 - Server 5(Secondary), shard-2 - Server 6(Secondary)
shard-3 == Server 7 (Primary), shard-3 - Server 8(Secondary), shard-3 - Server 9(Secondary)我有一个数据库和一个集合,所以假设它是作为块和平衡器分布在所有三个碎片上的,对吗?
因此,在这种情况下,如果碎片-1(集群)下降,交通将是正常的,或将受到阻碍。
发布于 2022-08-26 14:12:29
发布于 2022-08-29 06:08:25
我只是在做一个场景,整个集群可能会崩溃,比方说,我在单个DC中有一个集群,而DC被关闭了,所以我可能处于这样一种情况:完全集群不可用,其他2个集群位于不同的DC中,因此它们已经启动并运行良好。
好的,我们换一种方法,如果一个主碎片的主复制组成员下降,举行选举,宣布新的初选,一切都恢复正常,对吗?
但是,只有在集群有另一个可用节点的情况下,如果整个集群出现故障怎么办?
其他两个切分集群的用例是什么?
还是我对切分有错误的理解?
另外,是的,我已经在我的DB和集合上都启用了分片。
发布于 2022-08-31 11:15:17
好的,为什么我要走这条路,让我告诉你我的实际问题,我有4个碎片,都是复制的。当我检查sh.status()时,我看到了下面的输出
autosplit:当前已启用: yes当前运行: yes在最后5次尝试中失败:0迁移结果为最后24小时: 7641 :由于错误‘中止’失败,从MCA2到MCA4数据库:{ "_id“:"MCA",”主“:"MCA2",”分区“:真,”版本“:{ "uuid”:UUID("xxxxxxxxxxxx"),"lastMod“:1}} xxxxxxx碎片键:{ "xxxxx”:“散列”}唯一:假平衡:真块: MCA 1658 MCA2 1692 MCA3 1675 MCA4 1670
因此,我的简单问题是,如果这个主MCA2碎片崩溃了,会发生什么,集合(Xxxxxx)会被应用程序无法访问吗?
此外,根据术语,我有3个节点集群,因此任何人都可以停机,其他节点可以成为流量服务的主节点,因此只要主碎片中的任何节点都是活动的,并且服务器流量可以到达应用程序,对吗?
如果是,那么让我们假设完整的复制集已经下降了主碎片MCA2,现在是什么?
如果没有,那会发生什么。
出于安全原因,将集合和碎片键的实际值更改为(xxxxxxx)
https://stackoverflow.com/questions/73498768
复制相似问题