Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

shardDrainingStatus (comando de base de datos)

shardDrainingStatus

Muestra el estado de una partición en drenaje, ya sea que el balanceador todavía esté moviendo fragmentos a otras particiones en el clúster o que el proceso esté completo.

El comando devuelve un error si la partición no existe; de lo contrario, devuelve el estado de la operación de drenaje.

Para empezar a drenar una partición, consulta la startShardDraining .

Para detener el drenaje de una partición, consulte el comando stopShardDraining.

Para eliminar una partición drenada, consulte el comando commitShardRemoval.

Nuevo en la versión 8.3.

Este comando está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

Nota

Este comando no es compatible en MongoDB Atlas. Consulta Modify your Atlas Sharded Cluster para añadir o remover particiones de tu clúster de Atlas.

El comando tiene la siguiente sintaxis:

db.adminCommand( {
shardDrainingStatus: <shard>
} )

Este comando devuelve la siguiente salida:

Campo
Tipo
Descripción

msg

string

Proporciona la operación de extracción de corriente actual que está realizando el balanceador.

state

string

Proporciona el estado de la operación de drenaje.

shard

string

Indica la partición de drenaje.

remaining

Documento

Muestra las tareas restantes que el balanceador debe realizar para drenar la partición.

remaining.chunks

long

Indica el número de fragmentos que aún quedan en la partición.

remaining.dbs

long

Indica el número de bases de datos aún en la partición.

remaining.jumboChunks

long

Indica el número de grandes porciones que aún se encuentran en el fragmento.

remaining.collectionsToMove

long

Indica el número de colecciones que aún quedan en la partición.

note

string

Proporciona mensajes adicionales para el usuario.

dbsToMove

arreglo

Indica las bases de datos que usan la partición que se está vaciando como la partición principal. Antes de poder remover la partición del clúster, debe mover manualmente estas bases de datos a una nueva partición utilizando el comando movePrimary.

collectionsToMove

arreglo

Indica colecciones no particionadas almacenadas en la partición de drenaje. Antes de poder remover la partición del clúster, debes mover manualmente estas colecciones a otra partición usando el comando moveCollection.

Si tienes habilitado authorization, debes tener el rol de clusterManager o cualquier rol que incluya la acción de removeShard.

Cada base de datos en un clúster tiene una partición primaria. Si la partición que desea drenar también es la primaria de una de las bases de datos del clúster, entonces debe mover manualmente las bases de datos a una nueva partición después de migrar todos los datos desde la partición. Consulta el comando movePrimary y el comando Remover particiones de un clúster para obtener más información.

Las colecciones sin particiones se almacenan en shards individuales. Si una de estas colecciones está en la partición que deseas eliminar, primero debes migrar la colección a una diferente.

Para migrar una colección no particionada, consulta el comando moveCollection.

Para comenzar a drenar una partición, utilice el método db.adminCommand() para ejecutar el comando startShardDraining:

db.adminCommand( { startShardDraining: "shard04" } )

Para comprobar el estado de la operación de vaciado, utilice el comando shardDrainingStatus:

db.adminCommand( { shardDrainingStatus: "shard04" } )
{
msg: "draining ongoing",
state: "ongoing",
remaining: {
chunks: Long(2),
dbs: Long(2),
jumboChunks: Long(0),
collectionsToMove: Long(2)
},
shard: "shard04",
note: "you need to call moveCollection for collectionsToMove and afterwards movePrimary for the dbsToMove",
dbsToMove: [
"fizz",
"buzz"
],
collectionsToMove: [
"fizz.coll1",
"buzz.coll1"
],
ok: 1,
operationTime: Timestamp(1575399086, 1655),
$clusterTime: {
clusterTime: Timestamp(1575399086, 1655),
signature: {
hash: BinData(0,"XBrTmjMMe82fUtVLRm13GBVtRE8="),
keyId: Long("6766255701040824328")
}
}
}

Volver

shardCollection

En esta página