mongorestore无法还原大数据集的索引

我从服务器上收集了6580万条记录,而数据库的总记录为74M。此数据库可产生约4.26GB的gzip。

当我在具有Windows的本地计算机上下载此gzip.archive转储文件并mongorestore时。它成功运行并恢复了所有数据,但是在恢复索引的同时却给了我以下异常

Failed: leads.business: error creating indexes for leads.business: createIndex error: connection(localhost:27017[-5]) unable to decode message length: read tcp 127.0.0.1:51636->127.0.0.1:27017: i/o timeout
2020-05-21T00:15:23.128+0500    74181602 document(s) restored successfully. 0 document(s) failed to restore.

因此我搜索了此异常,发现此问题已在MongoDB JIRA票证为https://jira.mongodb.org/browse/TOOLS-2394中得到解决。

然后,我尝试将相同的转储还原到具有最新MongoDB版本的ubuntu计算机上。它没有给我任何例外,但似乎被绞死了。我等待了超过半小时,甚至比完整的数据库还原时间还要长。但是mongorestore从未响应过光标一直闪烁,好像正在处理某些东西,但是什么也没发生。我在ubuntu上尝试了两次。

重要信息:

MongoDB服务器详细信息:

OS: Ubuntu
Description:    Ubuntu 18.04.3 LTS
Release:        18.04
Codename:       bionic
MongoDB Version: 4.2.6

MongoDB本地计算机详细信息:

OS: Windows 10
MongoDB Version: 4.2.0

MongoDB本地计算机详细信息:

OS: Ubuntu
Description:    Ubuntu 20.04 LTS
Release:        20.04
Codename:       Focal Fossa
MongoDB Version: 4.2.6

在使用MongoDB 4.2.6更新Windows机器以避免出现异常之后,按照票证https://jira.mongodb.org/browse/TOOLS-2394

日志:

2020-05-21T04:04:16.107+0500    leads.business  27.6GB
2020-05-21T04:04:18.835+0500    leads.business  27.7GB
2020-05-21T04:04:18.849+0500    restoring indexes for collection leads.business from metadata

可以看出,它从2020-05-21T04:04:18.849 + 0500开始恢复索引,现在已经过了将近一个小时了4:54

也可以从屏幕截图中进行验证

mongorestore无法还原大数据集的索引

如果其他人遇到此问题,请分享您的想法。谢谢!

pumplee 回答:mongorestore无法还原大数据集的索引

它在MongoDB 4.2.6上运行良好,只是花费了很多时间,请在下面的日志中查找。

2020-05-21T03:25:19.233+0500    preparing collections to restore from
....
....
....
2020-05-21T04:04:18.835+0500    leads.business  27.7GB
2020-05-21T04:04:18.849+0500    restoring indexes for collection leads.business from metadata
2020-05-21T05:14:01.598+0500    finished restoring leads.business (65803772 documents,0 failures)
2020-05-21T05:14:01.658+0500    74181602 document(s) restored successfully. 0 document(s) failed to restore.
  • 可以看出,集合还原过程(索引除外)始于 03:25:19,结束于04:04:18。

  • 索引恢复始于04:04:18,结束于05:14:01

结论恢复索引比恢复整个集合花费更多的时间。但它的工作正常。

本文链接:https://www.f2er.com/2308093.html

大家都在问