文档菜单
文档首页
/
MongoDB 手册
/ / /

transitionToDedicatedConfigServer

在本页

  • 定义
  • 语法
  • 行为
  • 访问控制
  • 示例
  • 了解更多
transitionToDedicatedConfigServer

新功能在版本8.0.

从MongoDB 8.0开始,您可以

  • 配置配置服务器以存储您的应用程序数据,以及常规的分片集群元数据。存储应用程序数据的配置服务器称为配置分片

  • 在配置分片和专用配置服务器之间切换配置服务器。

集群需要一个配置服务器,但它可以是配置分片而不是专用配置服务器。使用配置分片可以减少所需的节点数量,并简化您的部署。

如果您的应用程序对可用性和容错要求较高,请考虑部署专用配置服务器。专用配置服务器提供隔离、专用资源和一致的性能,以满足关键集群操作。

transitionToDedicatedConfigServer命令配置配置分片以作为专用配置服务器运行。该命令导致平衡器优先将数据块从配置分片移动到集群中的其他分片。

在运行transitionToDedicatedConfigServer之前,连接到mongos并使用管理员数据库

分片集群必须将featureCompatibilityVersion设置至少为8.0

命令语法

db.adminCommand( {
transitionToDedicatedConfigServer: 1
} )

transitionToDedicatedConfigServer命令将应用数据从config分片移动到集群中的其他分片,其方式与removeShard命令移动数据的方式相同。

在内部,transitionToDedicatedConfigServer运行removeShard命令。transitionToDedicatedConfigServer返回与removeShard相同的响应。数据移动成功后的响应包含state: "completed"。有关完整响应详情和示例,请参阅removeShard 示例。在运行transitionToDedicatedConfigServer之前,请查看removeShard文档,了解它可能对您的部署产生的影响。

如果您两次运行transitionToDedicatedConfigServer且分片数据正在移动到其他分片,则transitionToDedicatedConfigServer的第二次运行将返回数据移动的当前状态。transitionToDedicatedConfigServer返回与removeShard相同的响应。

transitionToDedicatedConfigServer完成数据移动后,配置服务器成为专用配置服务器,不再是配置分片。

如果启用了访问控制,则 transitionToDedicatedConfigServer 命令需要为集群执行 transitionToDedicatedConfigServer 授权动作:

{
resource: { cluster : true },
actions: [ "transitionToDedicatedConfigServer" ]
}

clusterManager 角色具有 transitionToDedicatedConfigServer 授权动作,并且可以分配给用户。

以下示例将 clusterManager 角色分配给名为 testUser 的用户:

db.grantRolesToUser(
"testUser",
[ "clusterManager" ]
)

以下示例配置一个配置分片作为专用配置服务器运行

db.adminCommand( {
transitionToDedicatedConfigServer: 1
} )

有关详细信息,请参阅 降级功能兼容版本。

返回

transitionFromDedicatedConfigServer