一. 问题概述 今天看看爬虫抓取的数据,发现数据无法插入,首先想到的就是32Bit构建的文件大小限制问题,检查一下还真的是。本文把整个检查问题,解决问题的过程记录下来。 问题: can't map file memory - mongo requires 64 bit build for larger datasets
一. 问题概述
今天看看爬虫抓取的数据,发现数据无法插入,首先想到的就是32Bit构建的文件大小限制问题,检查一下还真的是。本文把整个检查问题,解决问题的过程记录下来。
问题:can't map file memory - mongo requires 64 bit build for larger datasets
错误信息如下:
既然人家都已经一再强调了,那么当我们遇到文件大小限制问题的时候只能怪自己当初没有看清楚~
不过你的服务器是32-bit的,又想存大数据,那可以考虑Sharding的方法,但是每个分片的大小也是2GB的限制。
关于这一点,,我在Stack-Overflow上看到一个提问及回答,贴出来给大家参考:
三. 验证问题
1. 检查当前Mongo的构建是32bit还是64bit版本
使用mongo工具,进入到shell模式
1 root@192.168.86.223:~$ mongo
2 MongoDB shell version: 2.0.4
3 connecting to: test
4 > use admin
5 switched to db admin
6 > db.runCommand("buildInfo")
7 {
8 "version" : "2.0.4",
9 "gitVersion" : "nogitversion",
10 "sysInfo" : "Linux yellow 2.6.24-29-server #1 SMP Tue Oct 11 15:57:27 UTC 2011 x86_64 BOOST_LIB_VERSION=1_46_1",
11 "versionArray" : [
12 2,
13 0,
14 4,
15 0
16 ],
17 "bits" : 32,
18 "debug" : false,
19 "maxBsonObjectSize" : 16777216,
20 "ok" : 1
21 }