sh.setBalancerState()
说明
sh.setBalancerState(state)
启用或禁用负载均衡器。
从 MongoDB 6.0.3 开始,不再执行自动数据块分割。这是因为均衡策略的改进。自动分割命令仍然存在,但不执行操作。
在6.0.3之前的MongoDB版本中,
sh.setBalancerState()
还会在启用负载均衡器时启用自动分割,在禁用负载均衡器负载均衡器时禁用自动分割。使用
sh.getBalancerState()
确定负载均衡器当前是启用还是禁用,然后使用sh.isBalancerRunning()
检查其当前状态。重要
mongosh 方法
本页面提供
mongosh
方法的相关信息。这不是数据库命令或特定语言驱动程序(例如 Node.js)的相关文档。有关数据库命令,请参阅
balancerStart
和balancerStop
命令。如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。
重要
您只能在 实例上运行
sh.setBalancerState()
mongos
。sh.setBalancerState()
如果在mongod
实例上运行,则会出现 错误。sh.setBalancerState()
方法具有以下参数:Parameter类型说明state
布尔将其设置为
true
可启用负载均衡器,设置为false
可禁用负载均衡器。长时间禁用负载负载均衡器可能会导致分片失衡,从而降低集群性能。仅在必要时禁用负载均衡器,并确保在维护完成后重新启用负载均衡器。