Docs Menu
Docs Home
/ /
Verificación de transferencia de datos

Verificar con el verificador integrado

mongosync Incluye un verificador incorporado para realizar una serie de comprobaciones en el clúster de destino para verificar la sincronización de las colecciones compatibles.

Importante

El verificador no comprueba los siguientes espacios de nombres:

  • Colecciones limitadas

  • Colecciones con índices TTL, incluidos los índices TTL que se agregan o eliminan durante la migración

  • Colecciones que no utilizan la intercalación predeterminada

  • Vistas

El verificador no revisa las siguientes funcionalidades de colección:

  • Metadatos de la colección

  • Indexes

Para verificar los datos y metadatos anteriores, cree secuencias de comandos para comprobaciones adicionales de estas colecciones y sus características. Para obtener más información, consulte Verificar transferencia de datos.

Nuevo en la versión 1.9.

El verificador integrado no está disponible en mongosync 1.8 y anteriores.

Para métodos de verificación alternativos, ve Verificar transferencia de datos.

El verificador integrado tiene las siguientes limitaciones:

  • El verificador no admite clústeres fragmentados. Si la migración incluye un clúster fragmentado, mongosync deshabilita el verificador.

  • mongosync Almacena el estado del verificador en memoria, lo que puede generar una sobrecarga de memoria significativa. Para ejecutar el verificador, mongosync requiere aproximadamente 10 GB de memoria, más 500 MB adicionales por cada 1 millones de documentos.

  • El verificador no se puede reanudar. Si un usuario detiene o pausa la sincronización y luego reinicia mongosync por cualquier motivo, el proceso de verificación se reinicia desde el principio. Esto puede provocar que la verificación se retrase considerablemente con respecto a la migración.

  • El punto final /reverse desactiva el verificador. Permanece desactivado tras llamadas adicionales al /reverse punto final.

  • Si inicia la sincronización con la verificación habilitada y buildIndexes configurado en never, la migración fallará si mongosync encuentra una colección TTL en el clúster de origen. Esto puede ocurrir después de llamar al punto de conexión /start o mucho más tarde, por ejemplo, cuando un usuario crea un índice TTL en el clúster de origen durante una migración en curso.

    Para sincronizar colecciones TTL sin crear índices en el clúster de destino, debe iniciar la sincronización con el verificador deshabilitado.

  • Si realiza una actualización en vivo desde cualquier versión anterior a 1.9.0, mongosync deshabilita la verificación incorporada.

El verificador no comprueba los siguientes espacios de nombres:

  • Colecciones limitadas

  • Colecciones con índices TTL, incluidos los índices TTL que se agregan o eliminan durante la migración

  • Colecciones que no utilizan la intercalación predeterminada

  • Vistas

El verificador no revisa las siguientes funcionalidades de colección:

  • Metadatos de la colección

  • Indexes

Para verificar los datos y metadatos anteriores, cree comprobaciones adicionales para estas colecciones y sus características. Para obtener más información, consulte Verificar la transferencia de datos.

1

Inicializa el proceso de mongosync:

./bin/mongosync \
--logPath /var/log/mongosync \
--cluster0 "mongodb://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:20020,clusterOne02.fancyCorp.com:20020,clusterOne03.fancyCorp.com:20020" \
--cluster1 "mongodb://clusterAdmin:superSecret@clusterTwo01.fancyCorp.com:20020,clusterTwo02.fancyCorp.com:20020,clusterTwo03.fancyCorp.com:20020"
2

Para comenzar a sincronizar datos desde el clúster de origen al destino, utilice el punto final /start.

curl localhost:27182/api/v1/start -XPOST \
--data ' {
"source": "cluster0",
"destination": "cluster1",
} '

Ejemplo de salida:

{"success":true}

Tenga en cuenta que el verificador está habilitado de forma predeterminada para las migraciones de conjuntos de réplicas.

3

Para examinar el estado de la sincronización, utilice el punto final /progress:

curl localhost:27182/api/v1/progress -XGET

Ejemplo de salida:

{
"progress":
{
"state":"RUNNING",
"canCommit":true,
"canWrite":false,
"info":"change event application",
"lagTimeSeconds":0,
"collectionCopy":
{
"estimatedTotalBytes":694,
"estimatedCopiedBytes":694
},
"directionMapping":
{
"Source":"cluster0: localhost:27017",
"Destination":"cluster1: localhost:27018"
},
"verification":
{
"source":
{
"estimatedDocumentCount": 42,
"hashedDocumentCount": 42,
"lagTimeSeconds": 2,
"totalCollectionCount": 42,
"scannedCollectionCount": 10,
"phase": "stream hashing"
},
"destination": {
"estimatedDocumentCount": 42,
"hashedDocumentCount": 42,
"lagTimeSeconds": 2,
"totalCollectionCount": 42,
"scannedCollectionCount": 10,
"phase": "stream hashing"
}
}
},
"success": true
}

Examine el campo de respuesta verification para obtener información sobre el estado del verificador incorporado.

El verificador integrado realiza una serie de comprobaciones en el clúster de destino. Comprueba todas las colecciones compatibles para confirmar que mongosync transfirió correctamente los documentos del clúster de origen al de destino.

Si el verificador detecta errores, la migración falla con un error. Si el verificador no encuentra errores, el /progress punto final canWrite: true devuelve. Para obtener más información sobre el canWrite campo, consulte canWrite y COMMITTED.

Comuníquese con el soporte técnico para investigar problemas de verificación.

La verificación requiere 10 GB de memoria más 500 MB adicionales por cada 1 millones de documentos en la migración.

Si la memoria disponible es insuficiente, el punto final /start devuelve un error. En este caso, para usar mongosync con el verificador, primero debe aumentar la memoria del servidor y reanudar la migración.

Si aumentar la memoria del servidor no es una opción, reinicie mongosync con el verificador deshabilitado.

Volver

Verificación de transferencia de datos

En esta página