
294
|
第
17
章
分片,那么当所有块从分片上迁移出去时,就会得到这个回复信息。
一旦分片开始排空数据,就没有内置的方法可以停止此过程了。
17.4
数据均衡
通常来说,
MongoDB
会自动处理数据均衡。本节介绍如何启用和禁用自动均衡,以及如
何干预均衡的过程。
17.4.1
均衡器
关闭均衡器是大部分管理操作的先决条件。有一个
shell
辅助函数可以简单实现这一过程:
> sh.setBalancerState(false)
{
"ok" : 1,
"operationTime" : Timestamp(1541450923, 2),
"$clusterTime" : {
"clusterTime" : Timestamp(1541450923, 2),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}
随着均衡器被关闭,新的均衡流程将不会再开始,但是关闭均衡器不会迫使正在进行的均
衡过程立即停止,也就是说,迁移过程通常不能立即停止。因此,应该检查
config.locks
集
合以查看是否仍有均衡过程正在进行:
> db.locks.find({"_id" : "balancer"})["state"]
0
0
表示均衡器已关闭。
均衡过程会增加系统的负载:目标分片必须查询源分片块中的所有文档,将文档插入目
标分片的块中,然后源分片必须删除这些文档 ...