- Reference >
mongoShell Methods >- Sharding Methods >
- sh.removeShardFromZone()
sh.removeShardFromZone()¶
On this page
Definition¶
-
sh.removeShardFromZone(shard, zone)¶ New in version 3.4.
Removes the association between a zone and a shard.
Parameter Type Description shardstring The name of the shard from which to remove association with the zone.zonestring The name of the zone from which to remove assocation with the shard.Only issue
sh.removeShardFromZone()when connected to amongosinstance.
Behavior¶
sh.removeShardFromZone() does not remove ranges associated with the
zone.
To completely remove a zone from the cluster, you must run
sh.removeShardFromZone() on each shard associated with the zone.
If the shard specified is the last shard associated with the zone, you
must ensure there are no remaining ranges associated with the zone. Use
updateZoneKeyRange to remove any existing ranges associated to
the zone before running sh.removeShardFromZone().
See the zone manual page for more information on zones in sharded clusters.
Balancer¶
Removing the association between a zone and a shard removes the constraints keeping chunks covered by the zone on the shard. During the next balancer round, the balancer may migrate chunks that previously covered by the zone.
See the sharded cluster balancer manual page for more information on how migrations work in a sharded cluster.
Security¶
For sharded clusters running with authentication, you must authenticate as a user whose privileges include:
updateon theconfig.shardscollection or theconfigdatabasefindon theconfig.tagscollection or theconfigdatabase
The clusterAdmin or clusterManager built-in roles have
the appropriate permissions for issuing sh.removeShardFromZone().
See the Role-Based Access Control manual page for more
information.
Example¶
The following example removes the association between shard0000 and the
NYC zone: