Docs 菜单

Docs 主页开发应用程序MongoDB Manual

addShard

在此页面上

  • 定义
  • 语法
  • 考虑因素
  • 举例
addShard

将分片副本集添加到分片集群。

提示

mongosh中,该命令也可以通过sh.addShard()辅助方法运行。

助手方法对于mongosh用户来说很方便,但它们返回的信息级别可能与数据库命令不同。如果不追求方便或需要额外的返回字段,请使用数据库命令。

该命令具有以下语法:

db.adminCommand(
{
addShard: "<replica_set>/<hostname><:port>",
name: "<shard_name>"
}
)

注意

从版本6开始。 2 ,MongoDB 会从addShard命令中删除maxSize字段。因此:

  • 运行带有maxSize字段的 { addShard } 会返回InvalidOptions错误。

  • shards 集合中的新文件不再包含 maxSize 字段。

  • 任何预先存在的 maxSize 字段条目都将被忽略。

该命令包含以下字段:

字段
类型
说明
addShard
字符串

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

<replica_set>/<hostname><:port>,<hostname><:port>, ...
name
字符串
可选。 分片的名称。 如果未指定,MongoDB 会自动提供一个唯一名称。

addShard命令将分片配置信息存储在配置数据库中。使用admin数据库时,始终运行addShard

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

重要

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

以下命令将副本集添加为分片:

use admin
db.runCommand( { addShard: "repl0/mongodb3.example.net:27327"} )

警告

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

← abortReshardCollection