我有一个带有分片键和索引的集合。但是当我运行平衡时,不会移动这些集合的块,而其他集合块正如预期的那样移动到其他机器上。此集合中只移动了一个块。
答案 0 :(得分:2)
目前(这将在不久的将来改变),当有足够的不平衡(8或更多)时,平衡器将仅开始移动块。如果块数比那个更接近,则不会有移动。块的数量取决于最大块大小(在2.0.x中写入时为64MB)和写入的数据量。每次将一定量的数据写入块时都会触发分割。
因此,如果您没有向集合添加数据,或者数据不是很大,则可能需要一些时间来创建必要的块数以触发平衡轮。
您可以通过手动拆分和移动块来掌握这一点:
http://www.mongodb.org/display/DOCS/Splitting+Shard+Chunks
或者,您可以添加更多数据来触发拆分,并且平衡器最终会启动并为您移动块。