Mongodb mongorestore无法还原大型数据集的索引
我从服务器上转储了一堆记录,收集了6580万条记录,总的数据库记录为7400万条。它为这个数据库制作了大约4.26GB的gzip 当我在一台装有windows和mongorestore的本地计算机上下载这个gzip.archive转储文件时。它成功地恢复了所有数据,但在恢复索引时,它给了我以下异常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
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结束