mongodb – 无法映射文件内存-mongo需要64位版本才能生成更大的数据集

我在3个系统中有一个分片集群.

插入时我收到错误消息:

cant map file memory-mongo requires 64 bit build for larger datasets

我知道32位机器的限制大小为2 GB.
我有两个问题要问.

> 2 gb限制适用于1个系统,因此总数据为6gb,因为我的分片是在3个系统中完成的.那么它只有2 gb或6 gb?
>虽然正确完成分片,但所有数据都存储在单个系统中,尽管在所有三个分片系统中分配数据?

Sharding是否在增加数据量限制方面发挥了作用?
块大小在性能方面起着至关重要的作用吗?

最佳答案 分片是关于跨多个节点扩展数据集的所有内容,以便回答您的​​问题,是的,您增加了数据集的可能大小.请记住,命名空间和索引也会占用空间.

你还没有指明你的mongos居住在哪里?你在哪里看到错误 – 一个mongod或mongos?我怀疑这是mongod.我相信你需要看看pre-splitting块 – http://docs.mongodb.org/manual/administration/sharding/#splitting-chunks.
  这似乎表明你的所有数据都是一个mongod.

如果你有mongos,sh.status()会返回什么?大块是否遍布所有mongod?

为了测试,我建议大小为1mb.在制作中,最好坚持使用64mb的默认值,除非你有一些非常重要的原因,为什么你不想要默认值,你真的知道你在做什么.如果你的块大小太小,那么你将经常进行拆分.

点赞