我在64位linux机器上进行64位mongodb的单元测试,我有两个分片,这两个分片都是在本地配置的,用来测试purpose.So当分片的过程从一个分片到another?.Whether时,我必须给出第一个分片的任何大小限制,这样一旦第一个分片的大小超过了第一个分片的大小,它就会进入下一个分片?请给我一个解决方案。
先说谢谢,
发布于 2011-02-18 16:50:33
给定集合中的数据以连续/顺序保留的方式存储在数据的“块”中,默认大小为200MB。一旦一个分块达到这个大小,它就会被一分为二,然后一旦一个分片出现数据不平衡,mongo就会开始通过在分片之间移动分块来重新平衡数据--所以移动的就是这些“分块”。
因此,默认情况下,您需要用合理数量的数据填充一个集合,以便最终得到多个200MB的块,然后开始在您的分片之间移动。出于测试目的,您可以通过在mongos进程上设置--chunkSize参数来更改此块大小(例如,我第一次使用它时,我将其设置为1MB)。这意味着在你开始看到分片之前,你只需要在集合中有几MB的数据。
下面是一个用于测试分片的很好的示例设置,它解释了chunkSize:
http://www.mongodb.org/display/DOCS/A+Sample+Configuration+Session
以下是分片的介绍:
http://www.mongodb.org/display/DOCS/Sharding+Introduction#ShardingIntroduction-Chunks
https://stackoverflow.com/questions/5038880
复制相似问题