千家信息网

【MongoDB】chunk too big to move的解决方案

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,当某些块中的数据量特别大, 形成特大块的时候, Balancer就无法对数据块进行拆分, 也就无法对块进行挪动。使用MongDB 3.2版本, 解决方案如下:1. 首先关闭Balancersh.sto
千家信息网最后更新 2025年02月05日【MongoDB】chunk too big to move的解决方案

当某些块中的数据量特别大, 形成特大块的时候, Balancer就无法对数据块进行拆分, 也就无法对块进行挪动。使用MongDB 3.2版本, 解决方案如下:


1. 首先关闭Balancer

sh.stopBalancer()

2. 查询特大块

use configdb.chunks.find({jumbo:true})


3. 拆分特大块

sh.splitAt("db.collection", {shardkye:"拆分的临界值"})


4. 手动挪动块(可选步骤)

sh.moveChunk("db.collection", {shardkey:"shardkey所在的块"}, "需要移动的目标分片ID");


5. 重启Balancer

sh.startBalancer()


0