我有一个包含10个分片的MongoDB分片/复制集群。大约十天前,我对这个集群进行了批量接收,它在GridFS中有相当多的数据。根据documentation,我在{ files_id : 1, n : 1 }上创建了一个分片索引。
如下图所示,分片中的数据分布非常不均匀。平衡器已启用,但它仍然是这样的。(这只是db.fs.chunks.getShardDistribution()输出的图表。)
我如何强制它重新平衡?是否要移除分片s9?我做manually split chunks了吗?我在sh.status(true)中没有看到任何“巨型”分片。
另外,如何使用文档中列出的索引来防止将来发生这种情况?

发布于 2020-04-21 09:50:52
您似乎选择了自动生成的ID作为分片键,这通常会产生您所看到的行为。有关它的更多信息,请阅读here。使用散列的分片键或对不同的键使用分片。
https://stackoverflow.com/questions/61332200
复制相似问题