2

我在 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 兆字节。但是块并不比定义的块大小大:

mongos> use config
switched to db config
mongos> db.settings.find({_id:"chunksize"})
{ "_id" : "chunksize", "value" : 64 }

有人可以帮助我吗?谢谢!

4

1 回答 1

1

看起来像已知的旧错误https://jira.mongodb.org/browse/SERVER-9365

我有大约 280K 文档的 30MB 块。并且 mongo 无法移动它,因为它包含超过 250001 个文档并填充错误“块太大而无法移动”。我们有这样的情况:chuk 不能大到不能分裂,而“不能小”到不能移动。

我复制了那个地方。我用 36b 文档(每块 8.58MiB)创建了 1 个块的集合。如果 docs 是 250001 或更少,则按预期手动移动块。如果 docs 250002 或更多,我得到一个错误“块太大而无法移动”。设置中的块大小为 64MB。

工作周围:

如果您计划使用带有小文档的集合 - 预拆分集合,以便文档小于 250K。

于 2013-06-19T02:38:56.597 回答