Docs 菜单

Docs 主页开发应用程序MongoDB Manual

sh.addShard()

在此页面上

  • 定义
  • 考虑因素
  • 例子
sh.addShard(<url>)

将分片副本集添加到分片集群。 此方法必须在mongos实例上运行。

重要

mongosh 方法

本页介绍了 mongosh方法。这不是数据库命令或特定语言驱动程序(例如 Node.js)的文档。

有关数据库命令,请参阅 addShard 命令。

对于 MongoDB API 驱动程序,请参阅特定语言的MongoDB 驱动程序文档。

对于传统 mongo Shell 文档,请参阅相应 MongoDB Server 版本的文档:

mongo shell v4.4

sh.addShard()方法具有以下参数:

范围
类型
说明
host
字符串

分片副本集至少一个成员的副本集名称、主机名和端口。任何其他副本集节点主机名都必须以逗号分隔。 例如:

<replica_set>/<hostname><:port>,<hostname><:port>, ...

sh.addShard()方法具有以下原型形式:

sh.addShard("<replica_set>/<hostname><:port>")

警告

请勿使用localhost作为主机名,除非您的配置服务器也在localhost上运行。

mongos从官方 .deb 安装的.rpm 默认情况下,软件包将bind_ip配置设置为127.0.0.1

mongos"majority"用于addShard命令及其助手sh.addShard()

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

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

重要

不能在提供给 的种子列表中包含sh.addShard() 隐藏成员

要添加分片,请指定副本集的名称以及副本集至少一个成员的主机名作为种子。 如果指定其他主机名,则所有主机名都必须是同一副本集的成员。

以下示例添加了一个名为repl0的副本集并指定了该副本集的一个成员:

sh.addShard("repl0/mongodb3.example.net:27327")
← sh.abortReshardCollection()