鍍金池/ 問答/數(shù)據(jù)庫/ mongodb 導(dǎo)入中斷

mongodb 導(dǎo)入中斷

2017-11-10T15:14:59.925+0800    [##......................]    bs.operationHistory   11.7MB/136MB  (8.5%)
2017-11-10T15:14:59.925+0800    [........................]             bs.sendSms   3.16MB/128MB  (2.5%)
2017-11-10T15:14:59.925+0800    [#.......................]  bs.topicData_wellness  3.70MB/58.3MB  (6.4%)
2017-11-10T15:14:59.925+0800    [#.......................]      bs.topicData_test  3.27MB/43.8MB  (7.5%)
2017-11-10T15:14:59.925+0800
2017-11-10T15:14:59.940+0800    [#.......................]  bs.topicData_wellness  3.70MB/58.3MB  (6.4%)
2017-11-10T15:14:59.940+0800    Failed: bs.topicData_wellness: error restoring from bs/topicData_wellness.bson: insertion error: EOF

如上,總是出現(xiàn)導(dǎo)入出錯,這個是什么問題?
數(shù)據(jù)來源是2.4版本的庫,現(xiàn)在導(dǎo)入倒3.x版本,這是問題所在嗎?

回答
編輯回答
悶油瓶

原則上不支持在不同的版本之間dump/restore數(shù)據(jù),特別是3.4以后BSON規(guī)范做了修改,更可能會失敗。
另外你可以檢查一下bs/topicData_wellness.bson是不是完整,看錯誤提示有可能是這個文件不完整導(dǎo)致的。
試一下:

    bsondump bs/topicData_wellness.bson | tail -n 10

看看會不會正確輸出結(jié)果。

2018年6月8日 12:46
編輯回答
拼未來

又是一個自問自答了……
首先同意上面MONGOING的回答,不同版本的MONGO對bson的解析會有問題……
本次雖也有遇到這個bson解析問題,但截圖沒有放出來所以感謝樓上對這個注意事項的補充。
這次的導(dǎo)入失敗的原因我最后是通過開啟swap來解決的,因此我想導(dǎo)致本次問題的最大可能就是vps的內(nèi)存不夠,導(dǎo)致bson沒辦法大規(guī)模解析出來。
問題通過開啟swap 2Gb后順利導(dǎo)入,奇怪的是,沒有遇到bson解析錯誤的問題,我想應(yīng)該是新版本有兼容性吧。

2017年10月28日 15:37