Descripción
replSetSyncFromAnula temporalmente el objetivo de sincronización predeterminado para la situación actual.
mongodEsta operación es útil para probar diferentes patrones y en situaciones donde un miembro del conjunto no se replica desde el host deseado.Tip
En
mongosh, este comando también se puede ejecutar a través del métodors.syncFrom()auxiliar.Los métodos asistente son convenientes para usuarios de
mongosh, pero es posible que no proporcionen el mismo nivel de información que los comandos de base de datos. En los casos en que no se necesite la conveniencia o se requieran campos de retorno adicionales, utiliza el comando de base de datos.Ejecute en
replSetSyncFromlaadminbase de datos.
Compatibilidad
Este comando está disponible en implementaciones alojadas en los siguientes entornos:
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.
Importante
Este comando no es compatible con los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulta Comandos no compatibles.
Sintaxis
El comando tiene la siguiente sintaxis:
db.adminCommand( { replSetSyncFrom: "hostname<:port>" } )
Campos de comandos
El comando toma el siguiente campo:
Campo | Tipo | Descripción |
|---|---|---|
| string | El nombre y el número de puerto del miembro del conjunto de réplicas desde el que este miembro debe replicar. Use el formato Los miembros |
Comportamiento
Limitaciones
Para que anule el replSetSyncFrom settings.chainingAllowed objetivo de truesincronización predeterminado, debe establecerse en.
Si settings.chainingAllowed se establece false en, replSetSyncFrom devuelve ok:1 pero no establece el objetivo de sincronización.
A partir de MongoDB 5.0.2, puede anular settings.chainingAllowed estableciendo el parámetro de servidor enableOverrideClusterChainingSetting en true. Esto permite la sincronización desde un miembro secundario incluso si settings.chainingAllowed es false.
Lógica de sincronización
Si hay una operación de sincronización inicial en curso cuando replSetSyncFrom ejecuta, replSetSyncFrom detiene la sincronización inicial en curso y reinicia el proceso de sincronización con el nuevo destino.
Modifique la lógica de sincronización predeterminada únicamente cuando sea necesario y tenga siempre cuidado.
Objetivo
El miembro desde el que se realizará la sincronización debe ser una fuente válida para los datos del conjunto. Para sincronizar desde un miembro, este debe:
Tiene datos. No puede ser árbitro, ni en modo de inicio ni de recuperación, y debe poder responder consultas de datos.
Ser accesible.
Sea miembro del mismo conjunto en la configuración del conjunto de réplicas.
Construya índices con la
members[n].buildIndexesconfiguración.Un miembro diferente del conjunto, para evitar la sincronización desde sí mismo.
Si intentas replicar desde un nodo que tiene más de 10 segundos de retraso con respecto al nodo actual, mongod registrará un registro de advertencia, pero aún así replicará desde el nodo rezagado. Consulta también atraso de la replicación y control de flujo.
Persistencia
replSetSyncFrom proporciona una anulación temporal del comportamiento predeterminado. volverá al comportamiento de sincronización predeterminado en las siguientesmongod situaciones:
Para obtener más información sobre el uso replSetSyncFrom de, consulte Configurar el destino de sincronización de un secundario autoadministrado.