La La utilidad mongosync crea una conexión entre clústeres de MongoDB. mongosync puede conectarse a cualquiera de los siguientes clústeres:
MongoDB Atlas clústeres alojados
un clúster autogestionado y un clúster alojado en Atlas
Esta página proporciona instrucciones para conectar un clúster autogestionado a un clúster de Atlas utilizando MongoDB Mongosync.
Para obtener detalles adicionales sobre cómo conectarse a un clúster de Atlas, consulta Conectarse a una implementación de la base de datos
Nota
Para obtener el mejor rendimiento, se recomienda actualizar su clúster autogestionado a la versión más reciente del parche de MongoDB Server antes de la migración. Para más información, consulta Actualizar a la última versión de patch autogestionado de MongoDB.
Cadenas de conexión
mongosync utiliza una cadena de conexión URI de MongoDB para conectar clústeres autogestionados:
El esquema de conexión SRV tiene la forma:
mongodb+srv://[username:password@][host.domain.TLD][/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 instancias mongod exactamente en el mismo orden en que están listados en su configuración del set 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 opción replicaSet.
mongosync requiere la preferencia de lectura primary para conectarse a los clústeres de origen y destino. Para más información, consulta Opciones de preferencia de lectura.
mongosync utiliza una cadena de conexión URI de MongoDB para conectar clusters en Atlas:
El esquema de conexión SRV tiene la forma:
mongodb+srv://[username:password]@[clusterName].[host].mongodb.net/ Para obtener información sobre cómo encontrar su cadena de conexión SRV en Atlas,consulte Conectarse a su clúster.
El esquema estándar de conexión URI tiene la forma:
mongodb://[username:password]@[clusterName].[host].mongodb.net/
mongosync requiere la preferencia de lectura primary para conectarse a los clústeres de origen y destino. Para más información, consulta Opciones de preferencia de lectura.
Autenticación
Proporcione datos de autenticación válidos para conectarse a un clúster de MongoDB Atlas. Si aún no tiene un usuario de base de datos Atlas, debe crear un usuario.
Si el clúster de origen o de destino requiere autenticación, se 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 para el clúster de origen son:
Tipo de sincronización | Permisos necesarios para la fuente |
|---|---|
predeterminado | |
Doble bloqueo de escritura | |
Reversión | |
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:.
Los permisos de Atlas para el clúster de destino son:
Tipo de sincronización | Permisos de destino requeridos |
|---|---|
predeterminado |
|
Bloqueo por guardado dual, inversión o múltiples inversiones |
|
Para obtener más información sobre las funciones de Atlas, consulte la sección Funciones de usuario de Atlas.
Para actualizar los permisos de usuario de Atlas, consulte: Gestione el acceso a un proyecto.
Comportamiento
Alojamiento
La utilidad mongosync se puede alojar en su propio hardware cerca de la fuente o del clúster de destino. No es necesario que esté alojado en el mismo servidor que una de las instancias mongod o mongos en el clúster. Esta flexibilidad te permite transferir, o recibir, datos hacia el clúster de destino con un impacto mínimo en las instancias de mongod o mongos 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.
Limitaciones
Antes de intentar ejecutar mongosync con un clúster de Atlas M10+, desactive el Require Indexes for All Queries
opción para establecer notablescan a false en ambos clústeres, fuente y destino.
Ejemplo
Recolectar información sobre la conexión
El clúster de origen, cluster0, está alojado en los siguientes servidores y puertos:
clusterOne01.fancyCorp.com:20020clusterOne02.fancyCorp.com:20020clusterOne03.fancyCorp.com:20020
El clúster de destino de Atlas, cluster1, está alojado en los siguientes servidores y puertos:
cluster2Name-01.abc123.com:27017cluster2Name-02.abc123.com:27017cluster2Name-03.abc123.com:27017
Hay un usuario administrativo, clusterAdmin, configurado en cada clúster con la contraseña superSecret.
Conectar los clústeres de Origen y Destino con mongosync
El formato de cadena de conexión genérica para el clúster autoadministrado es:
mongodb://<user>:<password>@<ip-address>:<port>,<ip-address>:<port>,<ip-address>:<port>
El formato genérico de cadena de conexión para el clúster de Atlas es:
mongodb://<user>:<password>@<clusterName>.<hostname>.mongodb.net/
Utilice la información de conexión que recopiló para el clúster autoadministrado para crear las cadenas de conexión para cluster0:
cluster0: mongodb://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:20020,clusterOne02.fancyCorp.com:20020,clusterOne03.fancyCorp.com:20020
Puede obtener la cadena de conexión del clúster Atlas desde la interfaz de usuario de Atlas. Para obtener más información, consulte Conectarse a una implementación de base de datos.
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@cluster2Name.abc123.mongodb.net"
Los clústeres de Atlas requieren conexiones TLS. Para usar mongosync con los clústeres de Atlas, se agrega la opción tls=true. Por ejemplo, para conectar con la base de datos admin en cluster0 y cluster1:
mongosync \ --cluster0 "mongodb://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:20020,clusterOne02.fancyCorp.com:20020,clusterOne03.fancyCorp.com:20020/admin?tls=true" \ --cluster1 "mongodb://clusterAdmin:superSecret@cluster2Name.abc123.mongodb.net/admin?tls=true"
También puedes usar mongodb+srv cadenas de conexión con mongosync. No necesita agregar la opción tls=true a una cadena de conexión mongodb+srv. Por ejemplo:
mongosync \ --cluster0 "mongodb+srv://clusterAdmin:superSecret@clusterOne01.fancyCorp.com/" \ --cluster1 "mongodb+srv://clusterAdmin:superSecret@cluster2Name.abc123.mongodb.net/"
Para obtener más detalles sobre las mongodb+srv cadenas de conexión, consulte Formato de conexión SRV.