我在mongos日志中找到了:
[Balancer] balancer move failed: { chunkTooBig: true, estimatedChunkSize: 33972400, ok: 0.0, errmsg: "chunk too big to move" } from: rs2 to: rs3 chunk: min: { h: 3074457345618258600 } max: { h: 3074457345618258600 }
~30兆字节。但是chunk并不比定义的块大小大:
mongos> use config
switched to db config
mongos> db.settings.find({_id:"chunksize"})
{ "_id" : "chunksize", "value" : 64 }
有人能帮帮我吗? 谢谢!
答案 0 :(得分:1)
看起来像已知的旧错误https://jira.mongodb.org/browse/SERVER-9365
我有30MB块,大约280K文档。并且mongo无法移动它因为它包含超过250001个文档并填写错误“块太大而无法移动”。我们有这样的情况,分开的大,并且“不小”移动。
我复制了那个localy。我创建了一个包含36个文档的块的集合(每块8.58MiB)。如果文档是250001或更少,则按预期方式移动块。如果文档250002或更多,我得到一个错误“块太大不能移动”。设置中的块大小为64MB。
工作:
如果您计划使用小文档集合 - 预拆分集合,以使文档少于250K。