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

Mongodb mongorestore无法还原大型数据集的索引,mongodb,mongodump,mongorestore,Mongodb,Mongodump,Mongorestore,我从服务器上转储了一堆记录,收集了6580万条记录,总的数据库记录为7400万条。它为这个数据库制作了大约4.26GB的gzip 当我在一台装有windows和mongorestore的本地计算机上下载这个gzip.archive转储文件时。它成功地恢复了所有数据,但在恢复索引时,它给了我以下异常 Failed: leads.business: error creating indexes for leads.business: createIndex error: connection(loc

我从服务器上转储了一堆记录,收集了6580万条记录,总的数据库记录为7400万条。它为这个数据库制作了大约4.26GB的gzip

当我在一台装有windows和mongorestore的本地计算机上下载这个gzip.archive转储文件时。它成功地恢复了所有数据,但在恢复索引时,它给了我以下异常

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票证中修复了

然后我尝试将相同的转储文件恢复到我的ubuntu机器上,这台机器有最新的MongoDB版本。它没有给我任何例外,但似乎被绞死了。我等待了半个多小时,甚至比完全恢复数据库的时间还要长。但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
OS: Ubuntu
Description:    Ubuntu 20.04 LTS
Release:        20.04
Codename:       Focal Fossa
MongoDB Version: 4.2.6
MongoDB本地计算机详细信息:

OS: Windows 10
MongoDB Version: 4.2.0
OS: Ubuntu
Description:    Ubuntu 20.04 LTS
Release:        20.04
Codename:       Focal Fossa
MongoDB Version: 4.2.6
在用MongoDB 4.2.6更新Windows机器以避免异常之后,我按照票证的要求提前得到了

日志:

可以看出,它在2020-05-21T04:04:18.849+0500开始恢复指数,现在是4:54,差不多一个小时过去了

也可以从截图中进行验证


如果还有其他人面临这个问题,请分享你的想法。谢谢

它在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结束


结论恢复索引比恢复整个集合需要更多的时间。但是它工作得很好。

它在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结束

结论恢复索引比恢复整个集合需要更多的时间。但它工作得很好