4

我在 mongodb 上创建了一个集合,该集合在错误的键上分片。我想删除我的收藏并重建它,以便在正确的键上进行分片。

不幸的是,执行 db.removeCollection('mycollection') 会删除数据,但不会删除一些元数据信息。

db.printShardingStatus 仍然显示我错误地用于 mycollection 的分片信息,如果我再次创建集合,我无法使用新的好密钥对其进行分片,因为它显示“已经分片”。

有什么解决办法吗?

谢谢

托马斯

4

1 回答 1

5

如果您查看此 JIRA 票证,有一个非常详细的讨论如何在 mongoDB 中安全地取消分片(并使用不同的密钥重新分片)集合:https ://jira.mongodb.org/browse/SERVER-9845

该票证中描述的方法涉及将您的数据迁移到单个分片,删除元数据,然后重新分片。如果您宁愿完全删除数据,然后重建,您应该能够跳过迁移步骤。您仍然需要重新启动 mongos 和分片服务器才能使更改生效。

于 2013-09-16T14:18:17.490 回答