Docs 菜单
Docs 主页
/
MongoDB Manual
/ /

向集群添加分片

在此页面上

  • Considerations
  • 向集群添加分片

您可以在创建分片分片集群后或需要增加集群容量时向其添加分集群。 如果您尚未创建分片分片集群,请参阅部署自管理分片集群。

所有分片必须是副本集。

将分片添加到分片集群时,会影响所有现有分片集合的集群分片之间的数据段平衡。负载均衡器将开始迁移数据段,以便集群实现平衡。有关更多信息,请参阅负载均衡器内部结构

向集群添加分片时,一定要确保集群有足够的容量来支持均衡集群所需的迁移,同时不影响合法的生产流量。

如果在集群执行 DDL 操作(修改集合的操作,例如 reshardCollection)时添加分片,将仅在完成并发 DDL 操作之后执行添加分片的操作。

可通过连接到 mongos 实例与分片集群进行交互。

  1. mongosh中,连接到mongos实例。 例如,如果可以在mongos0.example.net的端口27017上访问mongos },则发出以下命令:

    mongosh --host mongos0.example.net --port 27017
  2. 使用sh.addShard()方法将分片副本集集群,如以下示例所示。 为每个分片分别发出sh.addShard() 。 指定副本集的名称和副本集的节点。

    注意

    Optional

    您可以使用 addShard 数据库命令来指定分片的名称和最大大小。如果未指定,MongoDB 会自动指定名称和最大大小。如需使用数据库命令,请参阅 addShard

    以下示例说明了如何使用sh.addShard()添加分片:

    要添加名为rs1的分分片副本集(其成员在mongodb0.example.net的端口27018上运行),请发出以下命令:

    sh.addShard( "rs1/mongodb0.example.net:27018" )

    注意

    数据段迁移到新分片可能需要一些时间。

后退

查看集群配置