Importante
El Verificador de Migración admite validaciones de migración para las versiones 4.2 y posteriores de MongoDB. Es posible que no funcione correctamente con versiones anteriores.
Migration Verifier se conecta a los clústeres de origen y destino y realiza una serie de comprobaciones de verificación, comparando documentos, vistas e índices para confirmar que la sincronización fue exitosa.
A diferencia de otros métodos de verificación, Migration Verifier puede ejecutarse simultáneamente con
mongosync, comprobando los documentos en el clúster de destino mientras se sincronizan. Esto puede reducir el tiempo necesario para verificar el éxito de la sincronización antes de transferir la carga de la aplicación del clúster de origen al de destino.
Acerca de esta tarea
Nota
El Verificador de Migración no admite operaciones DDL. No ejecute ninguna operación DDL en el clúster de origen mientras verifica los datos con el Verificador de Migración.
Para obtener instrucciones de instalación y limitaciones de uso, consulte GitHub.
Pasos
Clústeres de sincronización
Sincronice los clústeres de origen y destino con mongosync. Para obtener más información, consulte Inicio rápido de Mongosync.
Espere mongosync a que llegue a CEA
Antes de poder iniciar las comprobaciones de verificación con Migration Verifier, debe esperar hasta que mongosync llegue a la fase de Aplicación de evento de cambio (CEA).
Para comprobar que mongosync ha llegado a la fase CEA, envíe el comando /progress y verifique que el progress.info campo change event application devuelva.
curl localhost:27182/api/v1/progress -XGET
{ "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" } } }
Comprobar progreso
Para ver los resultados, utilice cURL para enviar el comando progress al Verificador de migración.
curl -H "Content-Type: application/json" \ -X GET http://127.0.0.1:27020/api/v1/progress
{ "progress": { "phase": "idle", "error": null, "verificationStatus": { "totalTasks": 1, "addedTasks": 0, "processingTasks": 0, "failedTasks": 0, "completedTasks": 0, "metadataMismatchTasks": 0, "recheckTasks": 0 } } }
Cuando el campo phase es idle, las verificaciones están completas. Si el campo failedTasks da como resultado 0, la sincronización fue exitosa.