OPTIONS
翻译或纠错本页面

sh.addShard()

Definition

sh.addShard(host)

Adds a database instance or replica set to a sharded cluster. The optimal configuration is to deploy shards across replica sets. This method must be run on a mongos instance.

The sh.addShard() method has the following parameter:

Parameter Type Description
host string The hostname of either a standalone database instance or of a replica set. Include the port number if the instance is running on a non-standard port. Include the replica set name if the instance is a replica set, as explained below.

The sh.addShard() method has the following prototype form:

sh.addShard("<host>")

The host parameter can be in any of the following forms:

[hostname]
[hostname]:[port]
[replica-set-name]/[hostname]
[replica-set-name]/[hostname]:port

警告

Do not use localhost for the hostname unless your configuration server is also running on localhost.

2.6 新版功能: mongos installed from official .deb and .rpm packages have the bind_ip configuration set to 127.0.0.1 by default.

The sh.addShard() method is a helper for the addShard command. The addShard command has additional options which are not available with this helper.

Considerations

Balancing

When you add a shard to a sharded cluster, you affect the balance of chunks among the shards of a cluster for all existing sharded collections. The balancer will begin migrating chunks so that the cluster will achieve balance. See 开启分片集合的均衡 for more information.

Hidden Members

重要

You cannot include a hidden member in the seed list provided to sh.addShard().

Example

To add a shard on a replica set, specify the name of the replica set and the hostname of at least one member of the replica set, as a seed. If you specify additional hostnames, all must be members of the same replica set.

The following example adds a replica set named repl0 and specifies one member of the replica set:

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