Docs 菜单
Docs 主页
/
MongoDB Manual
/ /

向集群添加分片

在此页面上

  • Considerations
  • 向集群添加分片

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

所有分片必须是副本集。

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

数据段迁移可能会对磁盘空间产生影响,因为源分片默认会自动存档迁移的文档。 有关详细信息,请参阅 moveChunk目录。

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

可通过连接到 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" )

    注意

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

后退

查看集群配置