balancerStop
定义
balancerStop
禁用分片集群中的负载均衡器。 如果正在进行均衡轮次,则操作会等待均衡完成。
您只能对
balancerStop
admin
实例上的 数据库发出mongos
。重要
长时间禁用负载负载均衡器可能会导致分片失衡,从而降低集群性能。仅在必要时禁用负载均衡器,并确保在维护完成后重新启用负载均衡器。
提示
在
mongosh
中,该命令也可通过sh.stopBalancer()
辅助方法运行。辅助方法对
mongosh
用户来说很方便,但它们返回的信息级别可能与数据库命令不同。如果不追求方便或需要额外的返回字段,请使用数据库命令。从 MongoDB 6.0.3 开始,不再执行自动数据块分割。这是因为均衡策略的改进。自动分割命令仍然存在,但不执行操作。有关详细信息,请参阅均衡策略变更。
在 MongoDB 6.0 之前的版本中,该命令会禁用分片集群的自动分割。 要在禁用负载均衡器时启用自动分割,可以使用
sh.enableAutoSplit()
。
兼容性
此命令可用于以下环境中托管的部署:
MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务
重要
无服务器实例不支持此命令。 有关更多信息,请参阅不支持的命令。
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
语法
该命令具有以下语法:
db.adminCommand( { balancerStop: 1, maxTimeMS: <number> } )
命令字段
字段 | 类型 | 说明 |
---|---|---|
balancerStop | any | 任何值。 |
maxTimeMS | 整型 | 禁用负载均衡器的时间限制。 默认为 60000 毫秒。 |
例子
要停止负载均衡器线程,请连接到mongos
实例并发出以下命令:
db.adminCommand( { balancerStop: 1 } )