Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Preguntas frecuentes

Esta página ofrece respuestas a algunas preguntas frecuentes que hemos encontrado. Si tiene preguntas adicionales, comuníquese 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 Reconfigure mongosync During Synchronization.

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 en el clúster de destino cuando canWrite es true. Para comprobar el valor de canWrite, ejecuta el endpoint progress.

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

Nota

Las creaciones de índices en el clúster de destino se consideran operaciones de guardar mientras mongosync se está sincronizando.

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 commit para aceptar de manera segura 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 con mongosync.

Para más información, consulte ¿Puedo realizar lecturas o escrituras a mi clúster de destino mientras mongosync se 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 remueve datos durante una migración, lo que puede provocar que estos se almacenen de forma 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:

  • Reinicia la migración con el buildIndexes parámetro establecido en never. Una vez finalizada la migración, se deben crear manualmente los índices en el clúster de destino.

  • Después de la migración, realiza un sincronización inicial progresivo en el clúster de destino.

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

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

Para la mayoría de las migraciones, el clúster de destino debe tener especificaciones de hardware superiores al clúster de origen, incluyendo 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 disponer de suficiente almacenamiento en disco para albergar el tamaño lógico de los datos que se migran y las entradas de destino de oplog desde 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 de oplog de inserción de la sincronización inicial.

Para usar la verificación integrada, debes tener un oplog más grande en el destino. Si activas el verificador incorporado y reduces el tamaño del oplog de destino, es posible que el verificador incorporado no pueda mantenerse al día, lo que puede causar que mongosync genere un error.

Si necesitas reducir la sobrecarga de los registros del destino del oplog y el verificador incorporado está desactivado, puedes:

  • Utilice la configuración oplogSizeMB para reducir el tamaño del oplog 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 operaciones en el oplog sobre los datos en la clúster de destino después de la fase de copia de colección. Cuando las operaciones que mongosync no ha aplicado se eliminan del oplog en el clúster de origen, la sincronización falla y mongosync termina.

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és sincronizar un gran conjunto de datos, o si planeas pausar la sincronización durante un período prolongado, puedes exceder la oplog window. Utilice la configuración oplogSizeMB para aumentar el tamaño del oplog en el clúster de origen.

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

Si el readConcern no es majority, mongosync devuelve un error:

Invalid URI option, read concern must be majority

Si el 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 activa por defecto. Sin embargo, las configuraciones de tu 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, consulta la opción --networkMessageCompressors en el Manual de la base de datos.

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

LDAP y X509 son compatibles. Para las opciones de autenticación disponibles, consulta 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 set de réplicas puede tener árbitros. El set de réplicas fuente debe tener más de 2 nodos que no sean árbitros y debes sincronizar desde un nodo que no sea árbitro. Use la cadena de conexión del clúster de origen para especificar una preferencia de lectura para un nodo no árbitro que contiene datos.

Las advertencias sobre operaciones lentas pueden surgir 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 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 ves advertencias sobre operaciones lentas, comprueba el uso de CPU, memoria y red en los clústeres de origen y destino. Si los clústeres están subprovisionados para tus necesidades, considera actualizar el hardware del clúster.

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

Los errores de clave duplicada son parte normal del proceso de sincronización. Estos errores pueden ocurrir si:

  • Se inserta un documento en el clúster de origen después de que mongosync comience. mongosync puede copiar directamente el documento y aplicar de manera redundante el evento de cambio de inserción para el documento posteriormente.

  • 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 puede haber tenido éxito anteriormente.

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 permite la sincronización de índices TTL del clúster de origen al clúster de destino.

No, no puedes configurar mongosync para personalizar las 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 eficazmente los documentos a través de las particiones del clúster de destino después de la migración.

Volver

0.9

En esta página