Docs Menu
Docs Home
/ /

Preguntas frecuentes

Esta página responde a algunas preguntas frecuentes. Si tiene alguna pregunta adicional, póngase en contacto con el soporte de MongoDB.

Sí, puede ajustar el nivel de carga de trabajo del clúster durante una migración siguiendo los pasos en Reconfigurar mongosync durante la sincronización.

mongosync combina y reordena escrituras desde el origen hasta el destino durante la sincronización, y modifica temporalmente las características de la colección. Como resultado, mongosync no puede garantizar que el destino coincida con el origen, incluida una versión desactualizada del origen, en ningún momento durante la sincronización, incluso si la sincronización está en pausa. Para aceptar de manera segura el tráfico en las colecciones migradas en el clúster de destino, espera a que la migración commit. Para obtener más información, consulta Consideraciones intermedias de sincronización.

Realizar escrituras en las colecciones migradas del clúster de destino durante la sincronización genera un comportamiento indefinido. mongosync bloquea las escrituras en el clúster de destino de forma predeterminada. Para obtener más información sobre el bloqueo de escritura, consulte Bloqueo de escritura starty.

Tras la confirmación, solo es seguro escribir en las colecciones migradas del clúster de destino canWrite cuando true es. Para comprobar el valor de,canWrite ejecute el punto progress final.

Para obtener más información sobre las lecturas y escrituras permitidas durante la sincronización, consulte Lecturas y escrituras.

Nota

Las compilaciones de índices en el clúster de destino se tratan como escrituras mientras mongosync se sincroniza.

Por ejemplo, ¿puedo mantener un clúster secundario para recuperación ante desastres, análisis u otros casos de uso similares?

No, mongosync está diseñado para admitir migraciones únicas. mongosync debe tener commit para aceptar de forma segura el tráfico de lectura o escritura a las colecciones migradas en el clúster de destino. Por lo tanto, la recuperación ante desastres, el análisis y otros casos de uso similares no son flujos de trabajo compatibles mongosync con.

Para más información, consulte ¿Puedo realizar lecturas o escrituras en mi clúster de destino mientras mongosync está sincronizando?

Los siguientes factores pueden contribuir a un aumento en el tamaño del índice en los clústeres de destino:

  • mongosync Inserta y elimina datos durante una migración, lo que puede provocar que los datos se almacenen de manera ineficiente en el disco.

  • De forma predeterminada, mongosync crea índices antes de copiar los datos. mongosync copia los datos en _id orden. Si un índice no está correlacionado _id con, su tamaño puede aumentar. Para obtener más información, consulte la página de Preguntas frecuentes del Manual de MongoDB: Índices.

Utiliza los siguientes métodos para mitigar un aumento en el tamaño del índice:

  • Reinicie la migración con el buildIndexes parámetro establecido never en. Al finalizar la migración, cree índices manualmente en el clúster de destino.

  • Después de la migración, realice una sincronización inicial continua en el clúster de destino.

  • Tras la migración, ejecute compact (comando de base de datos) en el clúster de destino. Esto reconstruye los índices y libera espacio de disco innecesario para el sistema operativo, pero puede afectar el rendimiento del clúster.

Sí, mongosync puede ejecutarse en su propio hardware. mongosync no necesita ejecutarse en los servidores que alojan sus instancias de MongoDB. Cuando mongosync se ejecuta en su propio hardware, puede usar un sistema operativo (SO) diferente al de los clústeres de origen o destino.

Para la mayoría de las migraciones, el clúster de destino debe tener especificaciones de hardware más altas que el clúster de origen, incluidas las siguientes propiedades:

  • CPU

  • Memoria

  • Disk I/O

Estas especificaciones de hardware garantizan que el clúster de destino puede gestionar mongosync escrituras y que la sincronización puede mantenerse al ritmo de la carga de trabajo del clúster de origen.

El clúster de destino debe tener suficiente almacenamiento en disco para acomodar el tamaño de los datos lógicos que se migrarán y las entradas del registro de operaciones de destino de la sincronización inicial. Por ejemplo, para migrar 10 GB de datos, el clúster de destino debe tener al menos 10 GB disponibles para los datos y otros 10 GB para las entradas del registro de operaciones de inserción de la sincronización inicial.

Para usar la verificación integrada, debe tener un registro de operaciones más grande en el destino. Si habilita el verificador integrado y reduce el tamaño del registro de operaciones de destino, es posible que el verificador integrado no pueda mantener el ritmo, lo que provocará mongosync el error.

Si necesita reducir la sobrecarga de las entradas del registro de operaciones de destino y el verificador incorporado está deshabilitado, puede:

  • Utilice la oplogSizeMB configuración para reducir el tamaño del registro de operaciones del clúster de destino.

  • Utilice la configuración para reducir o eliminar el período mínimo de retención del registro de operaciones del clúster de oplogMinRetentionHours destino.

mongosync Aplica las operaciones del oplog en el clúster de origen a los datos del clúster de destino después de la fase de copia de recopilación. Cuando las operaciones que mongosync no se han aplicado en el se eliminan del oplog en el clúster de origen, la sincronización falla y el mongosync finaliza.

Nota

mongosync no replica operaciones realizadas en el clúster de origen durante la sincronización con el clúster de applyOps destino.

Si prevé sincronizar un conjunto de datos grande o si planea pausar la sincronización durante un período prolongado, podría exceder la ventana del registro de operaciones. Use la configuración para aumentar el tamaño de oplogSizeMB en oplog el clúster de origen.

mongosync requiere readConcern: "mayoría" y writeConcern: "mayoría".

Si readConcern no es majority, mongosync devuelve un error:

Invalid URI option, read concern must be majority

Si writeConcern no es majority, mongosync devuelve un error:

Invalid URI option, write concern must be majority

mongosync Acepta todas las demás opciones de cadena de conexión.

mongosync Admite la compresión de red y la habilita de forma predeterminada. Sin embargo, las configuraciones del clúster deben compartir al menos un compresor común.

Para obtener más información sobre las opciones de configuración de compresión de red, consulte la opción en el Manual de la base de --networkMessageCompressors datos.

mongosync utiliza una cadena de conexión estándar de MongoDB para conectar el origen y los clústeres de destino.

Se admiten LDAP y X.509 Para conocer las opciones de autenticación disponibles, consulte Autenticación en implementaciones autogestionadas.

mongosync no se reinicia automáticamente en caso de error. Sin embargo, se puede escribir un script o usar los administradores de procesos del sistema operativo, systemd, por ejemplo, para reiniciar el proceso mongosync.

El binario mongosync no tiene estado. Los metadatos para reiniciar se almacenan en el clúster de destino.

Una operación mongosync se puede reanudar si mongosync deja de estar disponible durante la sincronización. Cuando mongosync vuelva a estar disponible, reinicie el proceso mongosync con los mismos parámetros. mongosync reanuda la operación desde donde se detuvo cuando mongosync dejó de estar disponible.

Nota

A partir mongosync 1.7.3 de, mongosync puede tardar al menos dos minutos en responder al reanudar o reiniciar una operación de sincronización. Durante este tiempo, cualquier llamada al punto final podría fallar. Si progress una progress llamada falla, es seguro volver a intentarlo.

Sí, el conjunto de réplicas puede tener árbitros. El conjunto de réplicas de origen debe tener más de 2 nodos que no sean árbitros y debe sincronizar desde uno de ellos. Utilice la cadena de conexión del clúster de origen para especificar una preferencia de lectura para un nodo que no sea árbitro y que contenga datos.

Las advertencias de operación lenta pueden aparecer durante la sincronización inicial o la aplicación de un evento de cambio cuando se produce una operación de lectura lenta en el clúster de origen o una operación de escritura lenta en el clúster de destino. La advertencia puede indicar congestión de la red o sobrecarga de recursos en el clúster de origen o de destino.

Si bien estas advertencias no indican fallas en sí mismas, las operaciones lentas pueden provocar errores de tiempo de espera de operación en mongosync y fallas de migración.

Si ve advertencias de funcionamiento lento, compruebe el uso de la CPU, la memoria y la red en los clústeres de origen y destino. Si los clústeres no tienen suficiente capacidad para sus necesidades, considere actualizar el hardware del clúster.

No, los registros que contienen la palabra "error" o "fallo" muestran errores no fatales y no indican que deba detener mongosync antes de tiempo. Estos registros no indican que mongosync esté fallando o corrompiendo datos. Si se produce un error fatal, mongosync detiene la sincronización y escribe una entrada de registro fatal.

Los errores de clave duplicada son normales durante el proceso de sincronización. Estos errores pueden ocurrir si:

  • Inserta un documento en el clúster de origen después de que se inicia mongosync. mongosync puede copiar directamente el documento y aplicar de manera redundante el evento de cambio de inserción para el documento más adelante.

  • Se detiene y se reanuda mongosync. Esto puede provocar inserciones duplicadas al reiniciar mongosync.

  • mongosync encuentra un error transitorio y vuelve a intentar una inserción que posiblemente ya haya tenido éxito.

Un error fatal indica un problema que debe corregirse y requiere reiniciar la migración. Tras solucionar el error, elimine todos los datos migrados en el clúster de destino, incluida la base de datos mongosync_reserved_for_internal_use. A continuación, reinicie mongosync e inicie una nueva migración.

Mongosync admite la sincronización de índices TTL desde el clúster de origen al de destino.

No, no puede configurar mongosync para personalizar distribuciones de fragmentos en un clúster fragmentado de destino. mongosync toma muestras de cada colección durante la inicialización para determinar cómo distribuir los documentos de manera eficiente entre los fragmentos del clúster de destino después de la migración.

Volver

0.9

En esta página