向集群添加分片
您可以在创建分片分片集群后或需要增加集群容量时向其添加分集群。 如果您尚未创建分片分片集群,请参阅部署自管理分片集群。
所有分片必须是副本集。
Considerations
均衡
将分片添加到分片集群时,会影响所有现有分片集合的集群分片之间的数据段平衡。负载均衡器将开始迁移数据段,以便集群实现平衡。有关更多信息,请参阅负载均衡器内部结构。
容量规划
向集群添加分片时,一定要确保集群有足够的容量来支持均衡集群所需的迁移,同时不影响合法的生产流量。
DDL 操作
如果在集群执行 DDL 操作(修改集合的操作,例如 reshardCollection
)时添加分片,将仅在完成并发 DDL 操作之后执行添加分片的操作。
向集群添加分片
可通过连接到 mongos
实例与分片集群进行交互。
在
mongosh
中,连接到mongos
实例。 例如,如果可以在mongos0.example.net
的端口27017
上访问mongos
},则发出以下命令:mongosh --host mongos0.example.net --port 27017 使用
sh.addShard()
方法将分片副本集集群,如以下示例所示。 为每个分片分别发出sh.addShard()
。 指定副本集的名称和副本集的节点。以下示例说明了如何使用
sh.addShard()
添加分片:要添加名为
rs1
的分分片副本集(其成员在mongodb0.example.net
的端口27018
上运行),请发出以下命令:sh.addShard( "rs1/mongodb0.example.net:27018" ) 注意
数据段迁移到新分片可能需要一些时间。