定义
显示从嵌入式配置服务器到专用配置服务器的转换状态。
如果转换失败,该命令将返回 ok: 0 并显示错误,否则将返回 ok: 1。
要开始转换到专用配置服务器,请参阅startTransitionToDedicatedConfigServer 命令。
要停止正在进行的从嵌入式配置服务器到专用配置服务器的转换,请参阅stopTransitionToDedicatedConfigServer 命令。
要提交从嵌入式配置服务器到专用配置服务器的转换,请参阅commitTransitionToDedicatedConfigServer 命令。
8.3版本新增。
兼容性
此命令可用于以下环境中托管的部署:
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
注意
MongoDB Atlas不支持此命令。请参阅修改Atlas分片集群以排空嵌入式配置服务器。
语法
该命令具有以下语法:
db.adminCommand( { getTransitionToDedicatedConfigServerStatus: 1 } )
输出字段
此命令返回以下输出:
字段 | 类型 | 说明 |
|---|---|---|
| 字符串 | 提供负载负载均衡器当前正在执行的排干操作。 |
| 字符串 | 提供到专用配置服务器的转换状态。 |
| 文档 | 显示在完全过渡到专用配置服务器之前,负载均衡器必须执行以清空分片的剩余任务。 |
| long | 表示仍在分片上的数据段数。 |
| long | 指示仍在分片上的数据库数量。 |
| long | 表示仍在分片上的大数据段的数量。 |
| long | 表示仍在分片上的集合数量。 |
| 字符串 | 为用户提供附加消息。 |
| 阵列 | 指示排干分片用主分片的数据库。在完全过渡到专用配置服务器之前,您必须使用 |
| 阵列 | 表示存储在排干分片上的未分片集合。在完全过渡到专用配置服务器之前,您必须使用 |
行为
访问要求
如果已启用authorization ,则必须具有clusterManager角色或任何包含removeShard操作的角色。
数据库迁移要求
如果嵌入式配置服务器也是集群一个数据库的主节点 (primary node in the replica set),则在迁移分片的所有数据后,您必须手动将数据库移至新分片。有关更多信息,请参阅movePrimary 命令和从分片集群中删除分片。
集合迁移要求
如果其中一个未分片的集合位于嵌入式配置服务器上,则必须先将该集合迁移到其他分片。
要迁移未分片集合,请参阅moveCollection 命令。
示例
要开始过渡到专用配置服务器,请使用db.adminCommand() 方法运行startTransitionToDedicatedConfigServer 命令:
db.adminCommand( { startTransitionToDedicatedConfigServer: 1 } )
要检查排干操作的状态,请使用 getTransitionToDedicatedConfigServerStatus 命令:
db.adminCommand( { getTransitionToDedicatedConfigServerStatus: 1 } )
{ "state" : "ongoing", "remaining" : { "chunks" : NumberLong(2), "collectionsToMove" : NumberLong(1), "dbs" : NumberLong(1), "jumboChunks" : NumberLong(0), "estimatedRemainingBytes" : NumberLong(18) }, "msg" : "draining ongoing", "dbsToMove" : [ "testDB" ], "note" : "you need to call moveCollection for collectionsToMove and afterwards movePrimary for the dbsToMove", "collectionsToMove" : [ "testDB.testCollUnsharded" ], "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1772210444, 27), "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong(0) } }, "operationTime" : Timestamp(1772210444, 27) }