当Balancer不能自动平衡数据时,可以通过手动开启Balancer来移动数据。首先要确保将mongos实例连接到Sharding集群,并使用以下命令开启Balancer:
use config
db.settings.update({_id: "balancer"}, {$set: {stopped: false}})
然后,可以使用sh.status()
命令检查Balancer是否已经开始移动数据,并查看Balancer的状态。如果Balancer已经启动,但仍未移动数据,则可以使用以下命令强制Balancer移动数据:
use admin
db.runCommand({balancer: "startBalancer", waitForCompletion: true, maxTimeMS: 7200000})
使用sh.status()
命令检查Balancer的状态以确保数据已成功移动。