定义
开始从嵌入式配置服务器到专用配置服务器的过渡。
当命令运行时,它会告诉负载均衡器您要开始过渡到专用配置服务器。然后,负载均衡器开始将数据段从该分片异步移动到集群中的其他分片。一旦负载负载均衡器完成此进程,并且您已手动将所有未分片集合迁移到其他分片,您就可以安全地将其从集群中删除,因为它不再包含数据。有关更多信息,请参阅moveCollection 命令。
注意
必须为startTransitionToDedicatedConfigServer 启用负载均衡器,才能将数据段移出嵌入式配置服务器分片片。如果禁用负载均衡器,则不会迁移任何数据段,getTransitionToDedicatedConfigServerStatus 会继续报告分片上的剩余工作量。
如果转换失败,该命令将返回错误,否则将返回 ok。
要停止正在进行的从嵌入式配置服务器到专用配置服务器的转换,请参阅stopTransitionToDedicatedConfigServer 命令。
要显示从嵌入式配置服务器到专用配置服务器的转换状态,请参阅getTransitionToDedicatedConfigServerStatus 命令。
要提交从嵌入式配置服务器到专用配置服务器的转换,请参阅commitTransitionToDedicatedConfigServer 命令。
8.3版本新增。
兼容性
此命令可用于以下环境中托管的部署:
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
注意
MongoDB Atlas不支持此命令。请参阅修改Atlas分片集群以排空嵌入式配置服务器。
语法
该命令具有以下语法:
db.adminCommand( { startTransitionToDedicatedConfigServer: 1 } )
行为
访问要求
如果已启用authorization ,则必须具有clusterManager角色或任何包含removeShard操作的角色。
在分片清空期间没有集群备份
开始过渡时无法备份集群。
数据库迁移要求
如果嵌入式配置服务器也是集群一个数据库的主节点 (primary node in the replica set),则在迁移分片的所有数据后,您必须手动将数据库移至新分片。有关更多信息,请参阅movePrimary 命令和从分片集群中删除分片。
集合迁移要求
如果其中一个未分片的集合位于嵌入式配置服务器上,则必须先将该集合迁移到其他分片。
要迁移未分片集合,请参阅moveCollection 命令。
数据块均衡
当您过渡到专用配置服务器并且集群具有不均匀的数据块分布时,负载均衡器首先从排干的分片删除数据段,然后均衡剩余的不均匀数据块分布。
写关注
mongos将 命令的写关注(write concern)转换为 startTransitionToDedicatedConfigServer"majority"。
Change Streams
DDL 操作
如果您在集群执行startTransitionToDedicatedConfigServer DDL 操作(修改集合,如reshardCollection 的操作)时运行 ,则转换仅在并发 DDL 操作完成后执行。
示例
要开始转换,请使用db.adminCommand() 方法:
db.adminCommand( { startTransitionToDedicatedConfigServer: 1 } )