如何在MongoDB共享集群中分发GridFS.chunk

如何在MongoDB共享集群中分发GridFS.chunk,mongodb,gridfs,Mongodb,Gridfs,我有一个MongoDB分片/复制集群,其中有10个分片。大约十天前,我对这个集群进行了一次大容量摄取,它在GridFS中有相当数量的数据。根据,我在{files\u id:1,n:1}上创建了一个碎片索引 如下图所示,碎片中的数据分布非常不均匀。平衡器已启用,但看起来仍然是这样。(这只是db.fs.chunks.getShardDistribution()的输出图表) 我该如何强制重新平衡?我是否删除碎片s9?是吗?我在sh.status(true)中没有看到任何“巨型”碎片 另外-我如何使用文

我有一个MongoDB分片/复制集群,其中有10个分片。大约十天前,我对这个集群进行了一次大容量摄取,它在GridFS中有相当数量的数据。根据,我在
{files\u id:1,n:1}
上创建了一个碎片索引

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

我该如何强制重新平衡?我是否删除碎片s9?是吗?我在
sh.status(true)
中没有看到任何“巨型”碎片

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


您似乎选择了自动生成的ID作为切分键,该切分键通常会产生您所看到的行为。阅读更多关于它的信息。使用散列切分键或其他键上的切分键。

请查看文档并指出我不能使用散列切分键。然后提供您自己的id?