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
/ /
Replicación

replSetSyncFrom (comando de base de datos)

replSetSyncFrom

Sobrescribe temporalmente el destino de sincronización por defecto para el actual mongodEsta operación es útil para probar distintos patrones y en situaciones en las que un nodo del conjunto no se replica desde el host deseado.

Tip

En mongosh, este comando también se puede ejecutar a través del método asistente rs.syncFrom().

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.

Ejecuta replSetSyncFrom en la base de datos admin.

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.

El comando tiene la siguiente sintaxis:

db.adminCommand(
{
replSetSyncFrom: "hostname<:port>"
}
)

El comando toma el siguiente campo:

Campo
Tipo
Descripción

replSetSyncFrom

string

El nombre y el número de puerto del nodo del conjunto de réplicas desde el que este nodo debe replicarse. Utiliza el formulario [hostname]:[port].

Los miembros del conjunto de réplicas con 1 vote no pueden sincronizarse con nodos con 0 votes.

Para que replSetSyncFrom anule el destino de sincronización por defecto, settings.chainingAllowed debe estar configurado como true.

Si settings.chainingAllowed está configurado en false, replSetSyncFrom devuelve ok:1 pero no define el objetivo de sincronización.

A partir de MongoDB 5.0.2, puedes anular settings.chainingAllowed estableciendo el parámetro del servidor enableOverrideClusterChainingSetting en true. Esto permite la sincronización desde un miembro Secundario incluso si settings.chainingAllowed es false.

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.

Modifica solamente la lógica de sincronización por defecto cuando sea necesario, y siempre actúa con precaución.

El nodo desde el que se sincroniza debe ser una fuente válida para los datos del conjunto. Para sincronizar desde un nodo, el nodo debe:

  • Tener datos. No puede ser un árbitro, ni estar en modo de inicio o recuperación, y debe poder responder consultas de datos.

  • Sé accesible.

  • Ser nodo del mismo conjunto en la configuración del set de réplicas.

  • Crear un índice con la configuración members[n].buildIndexes.

  • Un nodo diferente del conjunto, para evitar la sincronización de 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.

replSetSyncFrom proporciona una sobreescritura temporal del comportamiento por defecto. mongod volverá al comportamiento de sincronización por defecto en las siguientes situaciones:

  • La mongod instancia se reinicia.

  • La conexión entre el mongod y el destino de sincronización se cierra.

  • Si el destino de sincronización se retrasa más de 30 segundos con respecto a otro miembro del conjunto de réplicas.

Para obtener más información sobre el uso de replSetSyncFrom, consulte Configure un objetivo de sincronización de secundario autogestionado.

Volver

replSetStepDown

En esta página