On this page本页内容
moveChunk
¶Internal administrative command. Moves chunks between shards. Issue the moveChunk
command via a mongos
instance while using the admin database. Use the following forms:
Alternatively:
The moveChunk
command has the following fields:
moveChunk |
string | The namespace of the collection where the chunk exists. Specify the collection’s full namespace, including the database name. |
find |
document | An equality match on the shard key that specifies the shard-key value of the chunk to move. Specify either the bounds field or the find field but not both. Do not use the find field to select chunks in collections that use a hashed shard key. |
bounds |
array | The bounds of a specific chunk to move. The array must consist of two documents that specify the lower and upper shard key values of a chunk to move. Specify either the bounds field or the find field but not both. Use bounds to select chunks in collections that use a hashed shard key. |
to |
string | The name of the destination shard for the chunk. |
forceJumbo | boolean | Optional. A flag that determines if the command can move a chunk that is too large to migrate. The chunk may or may not be labeled as jumbo.
The default is Warning When you run
|
_secondaryThrottle |
boolean |
For more information, see Secondary Throttle. |
writeConcern |
document |
|
_waitForDelete |
boolean | false . If set to true , the delete phase of a moveChunk operation blocks. |
The value of bounds
takes the form:
The chunk migration section describes how chunks move between shards on MongoDB.
See also参阅
Only use the moveChunk
in special circumstances such as preparing your sharded cluster for an initial ingestion of data, or a large bulk import operation. In most cases allow the balancer to create and balance chunks in sharded clusters. See Create Chunks in a Sharded Cluster for more information.
moveChunk
requires that all indexes exist on the target (i.e. to
) shard before migration and returns an error if a required index does not exist.
moveChunk
returns the following error message if another metadata operation is in progress on the chunks
collection:
If another process, such as a balancer process, changes meta data while moveChunk
is running, you may see this error. You may retry the moveChunk
operation without side effects.