Definición
sh.status()Cuando se ejecuta en un La instancia
mongosimprime un informe formateado de la configuración de fragmentación y la información sobre los fragmentos existentes en un clúster fragmentado. El comportamiento predeterminado suprime la información detallada de los fragmentos si el número total de fragmentos es mayor o igual a 20.El método
sh.status()tiene el siguiente parámetro:ParameterTipoDescripciónverbosebooleano
Opcional. Determina el nivel de verbosidad.
Si
true, el método muestra:Detalles completos de la distribución de fragmentos entre fragmentos, incluso si tiene 20 o más fragmentos, así como la cantidad de fragmentos en cada fragmento.
Detalles de instancias activas de mongos.
Si
false, el método muestra:Detalles completos de la distribución de fragmentos entre los fragmentos solo si tiene menos de 20 fragmentos. Si tiene 20 o más fragmentos, el método devuelve un mensaje
too many chunks to print ...que muestra solo el número de fragmentos en cada fragmento.Solo la versión y el número de instancias de mongos activas.
El valor detallado predeterminado es
false.
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Importante
Este comando no es compatible con los clústeres M0 y Flex. Para obtener más información, consulta Comandos no compatibles.
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.
Ejemplos de salida
La sección Versión de fragmentación muestra información sobre la base de datos de configuración:
--- Sharding Status --- sharding version: { "_id" : <num>, "minCompatibleVersion" : <num>, "currentVersion" : <num>, "clusterId" : <ObjectId> }
La sección Fragmentos muestra información sobre cada uno. Para cada fragmento, se muestra el nombre, el host y las etiquetas asociadas, si las hay.
shards: { "_id" : <shard name1>, "host" : <string>, "tags" : [ <string> ... ], "state" : <num> } { "_id" : <shard name2>, "host" : <string>, "tags" : [ <string> ... ], "state" : <num> } ...
La sección mongos Instancias activas muestra, de forma predeterminada, información sobre la versión y el recuento de mongos instancias que han estado activas en los últimos 60 segundos:
active mongoses: <version> : <num>
Si el método se ejecuta con el verbose parámetro en verdadero, la sección Instancias activas mongos muestra información adicional:
active mongoses: { "_id" : "<hostname:port>", "advisoryHostFQDNs" : [ "<name>" ], "mongoVersion" : <string>, "ping" : <ISODate>, "up" : <long>, "waiting" : <boolean> }
La división automática muestra información sobre si la división automática está habilitada:
autosplit: Currently enabled: <yes|no>
La sección Balanceador muestra información sobre su estado. Esto proporciona información sobre su funcionamiento actual y puede ser útil para solucionar problemas en un clúster fragmentado desequilibrado.
balancer: Currently enabled: yes Currently running: yes Collections with active migrations: config.system.sessions started at Fri May 15 2020 17:38:12 GMT-0400 (EDT) Failed balancer rounds in last 5 attempts: 0 Migration Results for the last 24 hours: 416 : Success 1 : Failed with error 'aborted', from shardA to shardB
La sección Bases de datos contiene información sobre las bases de datos. Muestra el nombre y el fragmento principal de cada una.
databases: { "_id" : <dbname1>, "primary" : <string>, "partitioned" : <boolean>, "version": <document> } { "_id" : <dbname2>, "primary" : <string>, "partitioned" : <boolean>, "version": <document> } ...
La sección Colección Fragmentada proporciona información sobre los detalles de fragmentación de las colecciones fragmentadas. Para cada colección, se muestra la clave de fragmento, el número de fragmentos por fragmento, la distribución de fragmentos entre fragmentos []1 y la información de la etiqueta, si la hay, para el rango de claves de fragmento.
<dbname>.<collection> shard key: { <shard key> : <1 or hashed> } unique: <boolean> balancing: <boolean> chunks: <shard name1> <number of chunks> <shard name2> <number of chunks> ... { <shard key>: <min range1> } -->> { <shard key> : <max range1> } on : <shard name> <last modified timestamp> { <shard key>: <min range2> } -->> { <shard key> : <max range2> } on : <shard name> <last modified timestamp> ... tag: <tag1> { <shard key> : <min range1> } -->> { <shard key> : <max range1> } ...
Campos de salida
Versión de particionado
sh.status.sharding-version._idEl es un identificador para los detalles de la
_idversión.
sh.status.sharding-version.minCompatibleVersionminCompatibleVersiones la versión mínima compatible del servidor de configuración.
sh.status.sharding-version.currentVersioncurrentVersiones la versión actual del servidor de configuración.
sh.status.sharding-version.clusterIdEl es la identificación del clúster
clusterIdfragmentado.
Instanciasactivas mongos
sh.status.active-mongosesSi
verboseesfalse,sh.status.active-mongosesmuestra la versión y el número de lasmongosinstancias activas. Lasmongosinstancias activas sonmongosinstancias a las que se les hizo ping en los últimos 60 segundos.Si
verbosetruees, devuelve unsh.status.active-mongosesmongosdocumento para cada instancia activa de que contiene los siguientes campos:CampoTipo de datoDescripción_idString
El nombre de host y el puerto donde se ejecuta.
mongosEl_idtiene el<hostname>:<port>formato.advisoryHostFQDNsArreglo de cadenas
Matriz de los
mongosnombres de dominio completos (FQDN) de.createdfecha
Cuando se inició
mongosel.Nuevo en la versión 5.2.
mongoVersionString
Versión de MongoDB que está
mongosejecutando.pingfecha
mongosinstancias envían pings al servidor de configuración cada 30 segundos. Este campo indica la hora del último ping.upNúmero largo
Número de segundos que ha estado activo desde el último
mongosping.waitingBooleano
Este campo siempre es
truey solo se incluye por compatibilidad con versiones anteriores.active mongoses: { "_id" : "<hostname:port>", "advisoryHostFQDNs" : [ "<name>" ], "created" : <ISODate>, "mongoVersion" : <string>, "ping" : <ISODate>, "up" : <long>, "waiting" : <boolean> } ...
Autosplit
sh.status.autosplitsh.status.autosplitIndica si la división automática está habilitada actualmente.
Nota
A partir de MongoDB,6.0.3 la división automática de fragmentos no se realiza. Esto se debe a mejoras en la política de balanceo. Los comandos de división automática aún existen, pero no realizan ninguna operación. Para más información, consulte Cambios en la política de balanceo.
En versiones de MongoDB anteriores a 6.0:
El comando y
balancerStartlosmongométodos auxiliares desh.startBalancer()shell y también habilitan la división automática para el clústersh.setBalancerState(true)fragmentado.To disable auto-splitting when the balancer is enabled, you can usesh.disableAutoSplit().El comando y
balancerStoplosmongométodos auxiliares desh.stopBalancer()shell y también deshabilitan la división automática para el clústersh.setBalancerState(false)fragmentado.To enable auto-splitting when the balancer is disabled, you can usesh.enableAutoSplit().
Los mongo métodos sh.enableBalancing(namespace) y no tienen efecto en la división sh.disableBalancing(namespace) automática.
Fragmentos
sh.status.shards._idEl muestra el nombre del
_idfragmento.
sh.status.shards.hostEl
hostmuestra la ubicación del host de la partición.
sh.status.shards.tagstagsEl campo muestra todas las etiquetas del fragmento. El campo solo se muestra si el fragmento tiene etiquetas.
sh.status.shards.stateEl
statemuestra:0Si el fragmento no es compatible con otros fragmentos.1Si el fragmento es compatible con otros fragmentos.
Balanceador
Nota
A partir de MongoDB,6.0.3 la división automática de fragmentos no se realiza. Esto se debe a mejoras en la política de balanceo. Los comandos de división automática aún existen, pero no realizan ninguna operación. Para más información, consulte Cambios en la política de balanceo.
En versiones de MongoDB anteriores a 6.0:
El comando y
balancerStartlosmongométodos auxiliares desh.startBalancer()shell y también habilitan la división automática para el clústersh.setBalancerState(true)fragmentado.To disable auto-splitting when the balancer is enabled, you can usesh.disableAutoSplit().El comando y
balancerStoplosmongométodos auxiliares desh.stopBalancer()shell y también deshabilitan la división automática para el clústersh.setBalancerState(false)fragmentado.To enable auto-splitting when the balancer is disabled, you can usesh.enableAutoSplit().
Los mongo métodos sh.enableBalancing(namespace) y no tienen efecto en la división sh.disableBalancing(namespace) automática.
sh.status.balancer.currently-enabledcurrently-enabledindica si el balanceador está habilitado actualmente en el clúster fragmentado.
sh.status.balancer.currently-runningcurrently-runningindica si el balanceador está actualmente en ejecución y, por lo tanto, está equilibrando el clúster.
sh.status.balancer.collections-with-active-migrationscollections-with-active-migrationsenumera los nombres de las colecciones con migraciones activas e indica cuándo comenzó la migración. Si no hay migraciones activas, este campo no aparecerá en la salidash.status()de.
sh.status.balancer.failed-balancer-rounds-in-last-5-attemptsfailed-balancer-rounds-in-last-5-attemptsmuestra el número de rondas de balanceo fallidas, de entre las últimas cinco rondas intentadas. Una ronda de balanceo fallará cuando falle la migración de un fragmento.
sh.status.balancer.last-reported-errorlast-reported-errormuestra el mensaje de error más reciente del balanceador. Si no se han producido errores, este campo no aparecerá en la salidash.status()de.
sh.status.balancer.time-of-reported-errortime-of-reported-errorProporciona la fecha y hora del error informado más recientemente.
sh.status.balancer.migration-results-for-the-last-24-hoursmigration-results-for-the-last-24-hoursmuestra el número de migraciones en las últimas 24 horas y los mensajes de error de las migraciones fallidas. Si no ha habido migraciones recientes,migration-results-for-the-last-24-hoursNo recent migrationsmuestra.migration-results-for-the-last-24-hoursincluye todas las migraciones, incluidas aquellas no iniciadas por el balanceador.
Databases
sh.status.databases._idEl muestra el nombre de la base de
_iddatos.
sh.status.databases.partitionedA partir de MongoDB 6.0 y la versión de compatibilidad de características (fCV), 6.0 el
partitionedindicador solo mantiene la compatibilidad con versiones anteriores. De forma predeterminada, todas las bases de datos están habilitadas para la fragmentación, independientemente delpartitionedvalor.
sh.status.databases.versionEl muestra la información de la versión de la base de
versiondatos:{ "uuid" : UUID("cc250b66-8638-49f7-a2e8-c6f1220b9d7a"), "lastMod" : 1 } dónde:
uuides el identificador de la base de datos.lastModes la versión de la base de datos.
Colección particionada
sh.status.databases.<collection>.shard-keyEl muestra el documento de especificación de la clave de
shard-keyfragmento.
sh.status.databases.<collection>.uniquemuestra si MongoDB aplica unicidad a los valores de clave de fragmento (es decir, si el índice de clave de fragmento subyacente es
uniqueúnico).
sh.status.databases.<collection>.balancingIndica si el balanceador puede balancear la colección. Si el balanceador está habilitado y el estado
truedevuelve, incluye esta colección en las operaciones de balanceo. Si el estadofalsedevuelve, indica que el balanceador no balancea los datos de esta colección.
sh.status.databases.<collection>.chunkschunksenumera todos los fragmentos y la cantidad de fragmentos que residen en cada fragmento.
sh.status.databases.<collection>.chunk-detailsEl enumera los detalles de los
chunk-detailsfragmentos []:1El rango de valores de clave de fragmento que definen el fragmento,
El fragmento donde reside el trozo, y
La última marca de tiempo modificada para el fragmento.
sh.status.databases.<collection>.tagEl enumera los detalles de las etiquetas asociadas con un rango de valores de clave de
tagfragmento.
| [1] | (,1 2) La sección de colección fragmentada, por defecto, muestra la información del fragmento si el número total de fragmentos es menor 20 que. Para mostrar la información cuando tiene 20 o más fragmentos, llame a los métodos con sh.status() el verbose parámetro establecido en, es true sh.status(true)decir,. |