balancerStop
定义
balancerStop
禁用分片集群中的平衡器。如果正在进行的平衡轮次,则操作将等待平衡完成。
您只能发出在
admin
数据库上针对balancerStop
的操作。在mongos
实例上。重要
长时间禁用均衡器可能导致分片不均衡,这会降低集群性能。仅在必要时禁用均衡器,并在维护完成后确保您 重新启用均衡器。
提示
在
mongosh
中,此命令也可以通过sh.stopBalancer()
辅助方法运行.辅助方法对
mongosh
用户很方便,但它们可能不会返回与数据库命令相同级别的信息。在不需要便利性或需要额外的返回字段的情况下,请使用数据库命令。从 MongoDB 6.0.3 开始,不再执行自动分片拆分。这是因为平衡策略的改进。自动拆分命令仍然存在,但不会执行操作。
在 MongoDB 6.1 之前的版本中,该命令禁用了分片集群的自动拆分。要禁用均衡器时启用自动拆分,您可以使用
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 } )