Database Manual / Reference / Database Commands / Sharding

balancerStatus (database command数据库命令)

Definition定义

balancerStatus

Returns a document that contains information about the status of the balancer.返回一个文档,其中包含有关平衡器状态的信息。

You can only issue the balancerStatus against the admin database.您只能对admin数据库发出balancerStatus

Tip

In mongosh, this command can also be run through the sh.isBalancerRunning() helper method.mongosh中,此命令也可以通过sh.isBalancerRunning()辅助方法运行。

Helper methods are convenient for mongosh users, but they may not return the same level of information as database commands. 助手方法对mongosh用户来说很方便,但它们可能不会返回与数据库命令相同级别的信息。In cases where the convenience is not needed or the additional return fields are required, use the database command.如果不需要便利性或需要额外的返回字段,请使用database命令。

Compatibility兼容性

This command is available in deployments hosted in the following environments:此命令在以下环境中托管的部署中可用:

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud:云中MongoDB部署的完全托管服务
  • MongoDB Enterprise: The subscription-based, self-managed version of MongoDB:MongoDB的基于订阅的自我管理版本
  • MongoDB Community: The source-available, free-to-use, and self-managed version of MongoDB:MongoDB的源代码可用、免费使用和自我管理版本

Syntax语法

The command has the following syntax:该命令具有以下语法:

db.adminCommand(
{
balancerStatus: 1
}
)

Output Document输出文档

The following is an example of a document returned by the command:以下是命令返回的文档示例:

{
"mode" : "full",
"inBalancerRound" : false,
"numBalancerRounds" : Long(86),
"ok" : 1
}
Field字段Description描述
"mode"

A string that specifies whether the balancer thread is running or stopped. Possible values are:一个字符串,指定平衡器线程是正在运行还是已停止。可能的值有:

  • "full"
    Balancer thread is running but not necessarily in a balancing round.平衡器线程正在运行,但不一定处于平衡轮中。
  • "off"
    Balancer thread is stopped. No chunk balancing can occur in this mode.平衡器线程已停止。在此模式下无法进行块平衡。
"inBalancerRound"

A boolean that specifies if the balancer is in a balancing round. If inBalancerRound=true, it is now distributing chunks.一个布尔值,指定平衡器是否处于平衡轮中。如果inBalancerRound=true,则它现在正在分发块。

inBalancerRound can be true when mode=off. If you turn the balancer off while it's in a balancing round, the server lets it finish rather than interrupting it.mode=off时,inBalancerRound可以为true。如果在平衡器处于平衡轮时关闭平衡器,服务器会让它完成,而不是打断它。

"numBalancerRounds"The number of balancer rounds which have occurred since the config servers were started. This value is not persisted and is reset to 0 upon restart of the config servers.自配置服务器启动以来发生的平衡器轮数。此值不会持久化,并在重新启动配置服务器时重置为0。

Example示例

Connect to a mongos instance and issue the following command:连接到mongos实例并发出以下命令:

db.adminCommand( { balancerStatus: 1 } )