处理一次32bit mongdb 数据超过2G问题
can't map file memory - mongo requires 64 bit build for larger datasets
�0�2
生产环境下某32bit windows机器安装了mongodb,一日数据超过2G
然后,任何操作都会报错
{
�0�2�0�2�0�2�0�2�0�2�0�2�0�2 "assertion" : "can't map file memory - mongo requires 64 bit build for larger datasets",
�0�2�0�2�0�2�0�2�0�2�0�2�0�2 "assertionCode" : 10084,
�0�2�0�2�0�2�0�2�0�2�0�2�0�2 "errmsg" : "db assertion failure",
�0�2�0�2�0�2�0�2�0�2�0�2�0�2 "ok" : 0
}
解决:
1.在windows机器拷贝下物理文件,拷贝到64bit linux机器
2.用原物理文件启动一个mongo实例
/usr/local/mongodb/bin/mongod --dbpath=/data1/mongodb/dataep/--logpath=/data1/mongodb/logs/mongodbep.log --logappend --fork --port=27010 --rest --profile=1 --slowms=500
�0�2
3.从新实例备份出需要的数据库
/usr/local/mongodb/bin/mongodump�0�2 --port 27010 -d ep -o /data1/backup/mongodbep/�0�2
4. 将备份文件还原到生产环境下mongodb
/usr/local/mongodb/bin/mongorestore�0�2 --host 172.21.5.49 --port 21017 -d ep /data1/backup/mongodbep/ep/
�0�2