我尝试使用mongorestore恢复100个集合(800GB)的数据库,mongorestore被作为mongo 2.4.4的备份。我使用了以下命令:
mongorestore -u <username> -p <password> -d bp_prod079
/data/backup/2015-11-28/bp_prod079 --batchSize=100
我使用batchSize = 1000,500,100来尝试使其工作。我在10-15次收集后收到插入错误。当我收到此错误时,它几乎可以运行近一个半小时。
失败:恢复错误:bp_prod079.ANEpisodeBreakdown:错误恢复 来自/data/backup/2015-11-28/bp_prod079/ANEpisodeBreakdown.bson: 插入错误:EOF
答案 0 :(得分:11)
对于我来说,使用次要的批量调整工作。首先我有--batchSize=50
并将其更改为10 --batchSize=10
并且完美。
答案 1 :(得分:2)
在使用WiredTiger存储引擎的MongoDB服务器上(默认情况下为MongoDB v3.2.x),当内存不足时也会抛出此错误,导致mongorestore
和mongod
崩溃,正如MongoDB开发人员@mpobrien解释here。
解决方案是向服务器添加更多RAM,或调整storage.wiredTiger.engineConfig.cacheSizeGB
设置,如下所述:
https://groups.google.com/d/msg/mongodb-user/Ms2MXCajreg/OsW6ixcSCgAJ