On this page
addShard
在本页面
Definition
addShard
- 将分片副本集添加到sharded cluster。
连接到mongos实例时运行addShard。该命令采用以下形式添加分片副本集:
{ addShard: "<replica_set>/<hostname><:port>", maxSize: <size>, name: "<shard_name>" }
该命令包含以下字段:
Field | Type | Description |
---|---|---|
addShard |
string | 副本集名称,主机名和分片副本集至少一个成员的端口。任何其他副本集成员主机名都必须用逗号分隔。例如: |
<replica_set>/<hostname><:port>,<hostname><:port>, ... |
||
maxSize |
整数 | 可选。分片的最大大小(以兆字节为单位)。如果将maxSize 设置为0 ,则 MongoDB 不会限制分片的大小。 |
name |
字符串 | 可选。分片的名称。如果未指定,MongoDB 会自动提供一个唯一的名称。 |
addShard命令将分片配置信息存储在config database中。使用admin
数据库时,请始终运行addShard。
当您的计算机具有不同的磁盘容量时,或者要限制某些分片上的数据量时,请指定maxSize
。当在分片上运行listDatabases返回的totalSize
超过maxSize
的值时,maxSize
约束防止balancer将块迁移到分片。
Considerations
Balancing
将分片添加到分片群集时,会影响所有现有分片集合的群集中各分片中chunks的平衡。平衡器将开始迁移块,以便群集将达到平衡。有关更多信息,请参见Cluster Balancer。
在 2.6 版中进行了更改:块迁移可能会影响磁盘空间。从 MongoDB 2.6 开始,源碎片默认情况下会自动存档迁移的文档。有关详细信息,请参见moveChunk directory。
Hidden Members
Examples
以下命令将副本集添加为分片:
use admin
db.runCommand( { addShard: "repl0/mongodb3.example.net:27327"} )
Warning
除非您的配置服务器也在localhost
上运行,否则不要使用localhost
作为主机名。