mongoimport连续导入多个CSV时,失去连接造成部分数据丢失?


  • 註冊用戶

    @Amber

    我这台机器的内存只有16G,除去一些其他进程,可用内存12G左右,但是在使用过程中,最多也只占用了总内存的40%(6.5G)左右就不再增长了,我不太清楚这是不是mongo的内存使用策略。

    我最快的导入速度也只有25s,也许你的机器配置更高一些?


  • 註冊用戶

    @asd 

    虽然是循环导入,但是每次也只有一个mongoimport的进程在执行呀,这样算是并发吗?


  • Lv 1

    @AJW 我這邊使用的機器內存是32g

    MongoDB 預設使用的內存是總內存的60%

    目前推斷跟硬體設備有很大的關係

    你將每次導入的資料量減半到22M  試試看順利導入的次數有沒有增加


  • 註冊用戶

    @Amber

    好的,我试试看。


  • 註冊用戶

    @asd

    我把数据全部整合到了一个csv文件中,这样没有丢失数据,也许这是一个好的解决办法。


  • 註冊用戶

    @Amber

    我把每次导入的数据量减半,成功导入的数据总量没有太大变化,都是在导入60几次后开始出现了数据丢失,也许我应该把mongo能使用的内存调大一些,看会不会有所好转。


  • 大中华区MongoDB顾问

    请问使用的MongoDB版本是什么?


  • 大中华区MongoDB顾问

    在出现问题的时候请执行一下这条命令,看一下结果:

    sudo netstat -plan | grep 27017 | grep -P ^tcp | awk '{print $6}' | sort -n | uniq -c

  • 註冊用戶

    @zhangyaoxing

    版本是3.4.0,我会尝试一下,记录一下输出


  • 註冊用戶

    @zhangyaoxing

    在出错的时候,语句的输出基本都是

    1 LISTEN
    n TIME_WAIT  

    n的值有很多不一样,但最多是11。

    也会有

    1 CLOSE_WAIT                                                                         
    1 FIN_WAIT1                                                                          
    1 LISTEN

    这样的输出,同样可能前面的数量有不同。

    从这些输出能看出有什么问题吗?还望再次指教


  • 註冊用戶

    @AJW

    請問以目前的實驗結果來看,實務上持續匯入CSV 適合使用 mongoimport 嗎?


  • 註冊用戶

    @yea

    mongoimport毕竟是官方提供的数据导入工具,我想是进行了一定优化的,而且速度确实也比较快。

    只是我这个问题感觉很特殊,应该不是mongoimport的问题,我至今也没有解决,sigh。。。

    如果你在测试的时候没有出现类似的问题,那么mongoimport应该还是一个不错的选择。


  • 註冊用戶

    有關 MongoDB tools 在 github 上面有源碼,是用 Golan 寫的,有興趣可以讀看看代碼。

    上次我有打包傳上來,不過 NodeBB 系統不知道放哪去了,所有的工具源碼都有。


  • 註冊用戶

    时隔一年回复这个帖子,我遇到和题主同样的问题,只是你的是脚本循环执行mongoimport,我的是循环执行mongorestore。导入的备份文件大小有25G左右,一共2500左右个库,我的mongo是个docker环境,有8G内存和32Gswap,数据盘500G,cpu够用。情况是这样的,开始导入很快,导入1000个库左右会慢下来,这时候发现mongo开始使用swap,随着时间的推移,swap占用越多,数据导入越慢。后来导入结束后,我看系统日志发现一个很有意思的事情。
    如图所示,导入结束后,mongo才开始清理lock,并且此时swap占用开始慢慢降低,降得比较慢。
    所以我猜想,我脚本中虽然是执行完一个mongorestore并且进行了一些其他的判断后才开始执行下一个,但这次执行mongorestore所占用的资源并没有完全释放,例如lock,其他资源占用暂时不知道怎么查看。所以造成内存占用过高,swap占用过高,从而引发出来的一些其他问题

登录后回复
 

与 萌阔论坛 的连接断开,我们正在尝试重连,请耐心等待