将分片添加到集群

在本页面

在创建集群之后或需要在集群中增加容量的任何时间,都可以将分片添加到sharded cluster。如果尚未创建分片群集,请参见部署分片集群

在生产环境中,所有分片都应为replica sets

Considerations

Balancing

将分片添加到分片群集时,会影响所有现有分片集合的群集中各分片中chunks的平衡。平衡器将开始迁移块,以便群集将达到平衡。有关更多信息,请参见Cluster Balancer

在 2.6 版中进行了更改:块迁移可能会影响磁盘空间。从 MongoDB 2.6 开始,源碎片默认情况下会自动存档迁移的文档。有关详细信息,请参见moveChunk directory

Capacity Planning

向群集添加分片时,请始终确保群集具有足够的容量以支持平衡群集所需的迁移,而不影响合法的生产流量。

将分片添加到集群

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

mongo --host mongos0.example.net --port 27017

Optional

您可以改用addShard数据库命令,该命令可为分片指定名称和最大大小。如果您未指定这些名称,则 MongoDB 会自动分配名称和最大大小。要使用数据库命令,请参见addShard

以下是使用sh.addShard()添加分片的示例:

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

Note

chunks可能需要一些时间才能迁移到新分片。

首页