首页 > 解决方案 > 如何在 MongoDB 共享集群中分发 GridFS fs.chunks

问题描述

我有一个带有十个分片的 MongoDB 分片/复制集群。大约十天前,我对这个集群进行了批量摄取,它在 GridFS 中有相当大量的数据。根据文档,我在{ files_id : 1, n : 1 }.

如下图所示,分片中的数据分布非常不均匀。平衡器已启用,但它仍然看起来像这样。(这只是输出的图表db.fs.chunks.getShardDistribution()。)

我如何强制它重新平衡?我要删除分片 s9 吗?我要手动拆分块吗?我没有看到任何“巨型”碎片列在sh.status(true).

另外-如何使用文档中列出的索引来防止将来发生这种情况?

分片分布

标签: mongodbgridfs

解决方案


您似乎选择了自动生成的 ID 作为通常会产生您所看到的行为的分片键。在此处阅读更多相关信息。使用散列分片键或不同键上的分片。


推荐阅读