El La utilidadmongosync crea una conexión entre clústeres MongoDB. mongosync puede conectarse a cualquiera de los siguientes clústeres:
Clústeres alojadosen MongoDB Atlas
un clúster autogestionado y un clúster alojado en Atlas
Esta página proporciona instrucciones para conectar clústeres autoadministrados mediante MongoDB Mongosync.
Nota
Para obtener el mejor rendimiento, actualice sus clústeres de origen y destino a la última versión del parche de MongoDB Server antes de la migración. Para obtener más información, consulte Actualizar a la última versión del parche autogestionado de MongoDB.
Cadenas de conexión
mongosync utiliza una cadena de conexión URI de MongoDB para conectar clústeres:
El esquema de conexión SRV tiene la forma:
mongodb+srv://[username:password@][host.domain.TLD][:port][/defaultauthdb][?options] El esquema estándar de conexión URI tiene la forma:
mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]
Especifique los nombres de host de las mongod instancias de la misma manera que aparecen enumerados en la configuración del conjunto de réplicas.
Para clústeres fragmentados, especifique los nombres de host de las instancias en mongos mongod lugar de las instancias.
Nota
mongosync no requiere la replicaSet opción.
mongosync Requiere la primary preferencia de lectura para conectarse a los clústeres de origen y destino. Para más información, consulte Opciones de preferencia de lectura.
Autenticación
Si el clúster de origen o de destino requiere autenticación, debe proporcionar las credenciales correctas al llamar a mongosync.
Roles
El usuario especificado en la cadena de conexión mongosync debe tener los permisos necesarios en los clústeres de origen y destino. Los permisos varían según el entorno y si desea modificar la configuración de bloqueo de escritura o usar la sincronización inversa.
Los permisos autogestionados son:
Tipo de sincronización | Permisos de origen requeridos | Permisos de destino requeridos |
|---|---|---|
predeterminado | ||
Doble bloqueo de escritura | ||
Revertir | ||
Múltiples reversiones |
Para detalles sobre las funciones del servidor, consulte: Control de acceso basado en roles en implementaciones autogestionadas.
Para actualizar los permisos de usuario, grantRolesToUser consulte:.
Comportamiento
Alojamiento
La mongosync utilidad puede alojarse en su propio hardware, cerca del clúster de origen o de destino. No es necesario que esté alojada en el mismo servidor que una de las mongod u instancias del clúster. Esta flexibilidad permite enviar o recibir mongos mongod datos al clúster de destino mongos con un impacto mínimo en las o instancias que se ejecutan allí.
Estado inicial
Cuando mongosync se conecta, está en el IDLE estado. Debe ejecutar el comando de inicio para iniciar la sincronización.
Ejemplo
Recopilar información de conexión
El clúster de origen, cluster0, está alojado en los siguientes servidores y puertos:
clusterOne01.fancyCorp.com:20020
clusterOne02.fancyCorp.com:20020
clusterOne03.fancyCorp.com:20020
El clúster de destino, cluster1, está alojado en los siguientes servidores y puertos:
clusterTwo01.fancyCorp.com:20020
clusterTwo02.fancyCorp.com:20020
clusterTwo03.fancyCorp.com:20020
Hay un usuario administrativo, clusterAdmin configurado en cada clúster, con contraseña, superSecret.
Conecte los clústeres de origen y destino con mongosync
El formato genérico de la cadena de conexión es:
mongodb://<user>:<password>@<ip-address>:<port>,<ip-address>:<port>,<ip-address>:<port>
Utilice la información de conexión que recopiló para crear las cadenas de conexión para cluster0 y cluster1:
cluster0: mongodb://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:20020,clusterOne02.fancyCorp.com:20020,clusterOne03.fancyCorp.com:20020 cluster1: mongodb://clusterAdmin:superSecret@clusterTwo01.fancyCorp.com:20020,clusterTwo02.fancyCorp.com:20020,clusterTwo03.fancyCorp.com:20020
El siguiente diseño del comando mongosync está modificado para poder visualizarlo. Para conectar cluster0 a cluster1 con mongosync, introduce el siguiente comando en una sola línea:
mongosync \ --cluster0 "mongodb://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:20020,clusterOne02.fancyCorp.com:20020,clusterOne03.fancyCorp.com:20020" \ --cluster1 "mongodb://clusterAdmin:superSecret@clusterTwo01.fancyCorp.com:20020,clusterTwo02.fancyCorp.com:20020,clusterTwo03.fancyCorp.com:20020"
También puede usar mongodb+srv cadenas de conexión mongosync con. No es necesario añadir la opción a tls=true una mongodb+srv cadena de conexión. Por ejemplo:
mongosync \ --cluster0 "mongodb+srv://clusterAdmin:superSecret@clusterOne01.fancyCorp.com/" \ --cluster1 "mongodb+srv://clusterAdmin:superSecret@clusterTwo01.fancyCorp.com/"
Para obtener más detalles sobre las mongodb+srv cadenas de conexión, consulte Formato de conexión SRV.