从专用配置服务器过渡
定义
新从版本8.0.
从 MongoDB 8.0 开始,您可以
配置配置服务器以存储您的应用程序数据以及常规的分片集群元数据。存储应用程序数据的配置服务器称为配置分片。
在配置分片和专用配置服务器之间过渡配置服务器。
集群需要一个配置服务器,但它可以是配置分片而不是专用配置服务器。使用配置分片可以减少所需的节点数量并简化您的部署。
如果您的应用程序对可用性和容错性有严格要求,请考虑部署专用配置服务器。专用配置服务器提供隔离、专用资源和一致的性能,以支持关键的集群操作。
从专用配置服务器过渡
命令将专用配置服务器配置为运行配置分片。
在运行 从专用配置服务器过渡
之前,连接到 mongos
并使用 admin 数据库。
分片集群必须将 featureCompatibilityVersion 设置为至少 8.0
。
语法
命令语法
db.adminCommand( { transitionFromDedicatedConfigServer: 1 } )
行为
transitionFromDedicatedConfigServer
命令将配置服务器作为分片添加到集群中。内部上,transitionFromDedicatedConfigServer
执行addShard
命令。
要确认分片集群使用配置分片,在连接到mongos
的同时运行listShards
命令对admin
数据库进行操作,并检查输出中_id
设置为"config"
的文档。如果listShards
输出不包含_id
设置为"config"
的文档,则集群不使用配置分片。
有关详细信息,请参阅确认配置分片使用。
如果您必须将功能兼容性版本降级到8.0以下,首先运行transitionToDedicatedConfigServer
命令。有关降级详细信息,请参阅降级功能兼容性版本。
访问控制
如果启用了访问控制,则 transitionFromDedicatedConfigServer
命令需要为 transitionFromDedicatedConfigServer
授权动作赋予集群的权限:
{ resource: { cluster : true }, actions: [ "transitionFromDedicatedConfigServer" ] }
clusterManager
角色具有 transitionFromDedicatedConfigServer
授权动作,并可分配给用户。
以下示例将 clusterManager
角色分配给名为 testUser
的用户:
db.grantRolesToUser( "testUser", [ "clusterManager" ] )
示例
以下示例配置一个专用配置服务器以作为配置分片运行
db.adminCommand( { transitionFromDedicatedConfigServer: 1 } )