2015-03-19 62 views
0

我的公司正在使用mongoDB作为数据库。
目前我们正在编写添加分片的脚本,一旦磁盘值增加超过70%。在MongoDB中添加碎片不会减少辅助磁盘大小

它工作正常,并在70%的阈值达到后添加一个额外的碎片。
问题是,当我们添加分片时,旧分片的文件大小也没有像mongo文档中提到的那样得到降低。
所以我们连接到mongos并执行db.repairDatabase,它工作正常并减少了旧分片的文件大小。

我们面临的最大问题是修复数据库命令只收缩主分片的存储,而不是次分片。

我们需要缩小辅助碎片以及自动化。

是否有任何缩小mongoDB辅助节点的命令?
我们不想做resynch它:是一个过于冗长而枯燥的工作...

+0

堆栈溢出仅用于编程相关主题。有关数据库管理和配置的问题,请在[dba.stackechange.com](http://dba.stackechange.com)上询问,而不是在这里,这是发布此类问题最合适的地方。 – 2015-03-19 09:47:30

+0

修复了一些语法和格式。删除了无关的谢意。 – 2015-03-19 10:02:46

回答

1

文件大小,一旦分配,不会下降 - 该空间将被Mongo重新使用,如果你的碎片继续增长。所以,如果你真的想要获得磁盘空间,那么repairDatabase是最好的选择。您可以将副本从副本集中移出,运行repairDatabase并将其重新带回副本集。