Docs 主页 → 开发应用程序 → MongoDB Manual
sh.addShard()
定义
sh.addShard(<url>)
将分片副本集添加到分片集群。 此方法必须在
mongos
实例上运行。重要
mongosh 方法
本页介绍了
mongosh
方法。这不是数据库命令或特定语言驱动程序(例如 Node.js)的文档。有关数据库命令,请参阅
addShard
命令。对于 MongoDB API 驱动程序,请参阅特定语言的MongoDB 驱动程序文档。
对于传统
mongo
Shell 文档,请参阅相应 MongoDB Server 版本的文档:sh.addShard()
方法具有以下参数:范围类型说明host
字符串分片副本集至少一个成员的副本集名称、主机名和端口。任何其他副本集节点主机名都必须以逗号分隔。 例如:
<replica_set>/<hostname><:port>,<hostname><:port>, ... sh.addShard()
方法具有以下原型形式:sh.addShard("<replica_set>/<hostname><:port>") 警告
考虑因素
均衡
将分片添加到分片集群时,会影响所有现有分片集合的集群分片之间的数据段平衡。负载均衡器将开始迁移数据段,以便集群实现平衡。有关更多信息,请参阅负载均衡器内部结构。
数据块迁移可能会对磁盘空间产生影响,因为源分片默认会自动存档迁移的文档。有关详细信息,请参阅moveChunk
目录。
隐藏成员
重要
不能在提供给 的种子列表中包含sh.addShard()
隐藏成员 。
例子
要添加分片,请指定副本集的名称以及副本集至少一个成员的主机名作为种子。 如果指定其他主机名,则所有主机名都必须是同一副本集的成员。
以下示例添加了一个名为repl0
的副本集并指定了该副本集的一个成员:
sh.addShard("repl0/mongodb3.example.net:27327")