单机环境下使用mongodb缓存爬虫抓取的网页的源码,没有复制集、分片等,使用mongodb纯粹为了取用方便并提升存储效率。
现在一个collection占用了50多G的空间,已将数据提取完毕,短期内不会用到它了,但抓取下来十分不容易,后面可能还用得到,所以不想删掉,问题是硬盘没空间了,我想把collection和index文件转移到移动硬盘上,需要时再拷回来或者将移动硬盘目录作为数据目录。但拿一个新建的测试集合测试发现,一旦将这些文件移走,mongod就无法启动了,必须再转移回来才能启动。
我的问题是:
1、如何保证将占空间的collection及其对应的index文件挪走后,不影响mongod的启动和其他collection的使用(数据目录下还有其他collection)
2、如果不是拷贝整个数据目录,只将collection和index文件拷贝到新目录,后面如果将新目录作为数据目录,是不是也无法启动
3、数据目录下的collection、index、日志、锁文件之外的文件,是不是有些是类似注册表的作用,怎么实现类似绑定、解除绑定的操作
我查看了db、collection相关的操作,没发现文档中有做上述工作的函数,所以请知者指教。
附数据目录截图:
淡淡烟草味2017-05-02 09:26:50
一种简单的做法供参考:
1、假设数据文件和相关日志放置在data文件夹;
2、正常关闭MongoDB数据库;
3、拷贝data文件夹到便携式磁盘;
4、修改mongod.conf中相关参数,例如
systemLog:
destination: file
path: F:\mongodb\data\log\mongod.log
storage:
dbPath: F:\mongodb\data\db
5、正常启动MongoDB
在你的描述中,可能是没有修改mongod.conf配置文件,或者没有重新设置data/log的路径吧。
供参考。
Love MongoDB! Have Fun!
------------------------华丽的分割符--------------------------------
MongoDB中文社区线下活动缤纷,请猛戳下方:
2017华山论剑|MongoDB中文社区
三月份杭州站在即!!! 感兴趣的朋友火速报名!!!