Docs Menu
Docs Home

Semilla con mongorestore

Puedes utilizar mongodump y para sembrar el clúster de MongoDB Atlas con datos de un conjunto independiente o de réplica de MongoDB existente. Para obtener instrucciones sobre cómo sembrar datos de un clúster fragmentado de MongoDB existente, contacte con el soporte de mongorestore Atlas:

1
  1. Si aún no se muestra, selecciona la organización deseada en el menú Organizations de la barra de navegación.

  2. Haga clic en el icono Support en la barra de navegación.

  3. Haga clic en View plan.

Aparece la página de soporte.

2

Mientras puedas escalar un M0 clúster de nivel gratuito a un M10+ clúster pago mediante la interfaz de usuario Atlas, también puede usar mongodump los mongorestore procedimientos y de esta sección para copiar datos de un M0 clúster de nivel gratuito a un M10+ clúster.

Utilice la última versión estable de mongodump y para este mongorestore procedimiento.

Para garantizar una migración actualizada, programe una ventana de mantenimiento donde pueda detener todas las escrituras en el clúster de origen. Las operaciones de escritura realizadas en el clúster de origen una vez mongodump finalizada la parte del procedimiento no se migrarán al clúster de destino.

Después de que complete la restauración de datos, debe transferir sus aplicaciones al clúster Atlas de destino antes de reanudar las operaciones de escritura. Para conectarse a un clúster Atlas, consulte Conectarse mongorestorea un clúster Atlas.

El tiempo de inactividad total requerido depende de factores como el tamaño de los datos que se migran y la conexión de red entre el clúster de origen y Atlas. Si tiene alguna pregunta o inquietud sobre un tiempo de inactividad prolongado, comuníquese con el soporte de Atlas:

1
  1. Si aún no se muestra, selecciona la organización deseada en el menú Organizations de la barra de navegación.

  2. Haga clic en el icono Support en la barra de navegación.

  3. Haga clic en View plan.

Aparece la página de soporte.

2

Atlas gestiona la creación de usuarios de la base de datos. Si el clúster de origen exige autenticación:

  • Permitir acceso de lectura al servidor principal.

  • Si desea usar mongorestore con la opción, debe eliminar --oplogReplay los admin config directorios y del dump directorio creado por.mongodump Los admin config directorios y contienen información de usuario de la base de datos que no se puede agregar a un clúster de Atlas mongorestore con. Use para excluir el espacio mongorestore --nsExclude de admin.system.* nombres.

No se puede migrar ninguna información de usuario o rol existente a Atlas. Para el clúster de Atlas de destino, cree los usuarios de base de datos adecuados para los patrones de uso de su aplicación. Actualice sus aplicaciones como parte del proceso de migración para usar los nuevos usuarios de base de datos. Para obtener más información, consulte Configurar usuarios de base de datos.

Este procedimiento requiere ejecutar mongodump y en un host del clúster de origen. Estos programas consumen recursos del sistema, como CPU y memoria, y pueden afectar el rendimiento del mongorestore host.

Ejecute este procedimiento durante horas punta o durante una ventana de mantenimiento programada. Si el origen es un conjunto de réplicas, puede ejecutar este procedimiento desde el host de un miembro secundario. Tras detener las escrituras en el clúster, permita que el secundario alcance al principal antes de iniciar este procedimiento.

Este procedimiento utiliza tuberías de Linux Para transmitir la salida demongodumpamongorestore. Si el procesomongorestoreno puede seguir el ritmo del procesomongodump, podrían aparecer errores de canalización rota.

Para obtener orientación sobre cómo solucionar errores persistentes de tuberías rotas, comuníquese con el soporte de Atlas:

1
  1. Si aún no se muestra, selecciona la organización deseada en el menú Organizations de la barra de navegación.

  2. Haga clic en el icono Support en la barra de navegación.

  3. Haga clic en View plan.

Aparece la página de soporte.

2

El siguiente tutorial utiliza mongodump y para cargar datos de un clúster MongoDB existente a un clúster mongorestore Atlas:

1

Importante

Opcional

Si su clúster de origen no exige la autenticación, omita este paso.

Si la implementación de origen exige autenticación, debe otorgar a un usuario de base de datos privilegios para leer cualquier base de datos como parte de este procedimiento. Para obtener más información sobre los privilegios de usuario de base de datos, consulte Control de acceso basado en roles de MongoDB.

Si no existe dicho usuario, cree un usuario en su conjunto de réplicas MongoDB de origen con la función de respaldo en la admin base de datos.

Ejemplo

Ejecute el siguiente comando en para crear mongosh el mySourceUser en la admin base de datos y asignarle el backup rol. Para los conjuntos de réplicas, debe ejecutar este comando en la base de datos principal.

use admin
db.createUser(
{
user: "<mySourceUser>",
pwd: "<mySourcePassword>",
roles: [ "backup" ]
}
)
2

Según el tipo de cadena de conexión que utilice, copie una de las siguientes plantillas en su editor de texto preferido:

Nota

Para conectarse a los clústeres Atlas, le recomendamos que se conecte con una cadena de conexión de lista de semillas DNS utilizando la opción --uri.

mongodump --uri "mongodb://username:password@mongodb0.example.com:<Port>,mongodb1.example.com:<Port1>,mongodb2.example.com:<Port2>/?replicaSet=<ReplicaSetName>&authSource=admin" \
--archive

Reemplace los ejemplos de host con la información de los miembros de su conjunto de réplicas. Reemplace <ReplicaSetName> con el nombre del conjunto de réplicas de origen.

Para implementaciones independientes, excluya replicaSet=<ReplicaSetName> y especifique solo el nombre de host de la implementación independiente. Por ejemplo, --uri "mongodb://standalone-mongod.example.net:27017"

mongodump --uri "mongodb+srv://username:password@cluster0.example.mongodb.net" \
--archive

Nota

Si usa mongodump o en mongorestore Ubuntu,18.04 podría recibir un cannot unmarshal DNS mensaje de error al usar cadenas de conexión SRV (con el mongodb+srv:// formato) con la --uri opción. En ese caso, utilice una de las siguientes opciones:

Nota

Si su contraseña contiene caracteres especiales, debe estar codificada en porcentaje.

No ejecute este comando todavía. Continúe con el siguiente paso una vez que haya modificado la plantilla.

3

Para ejecutar en un clúster Atlas, debe especificar un usuario de mongorestore Atlas admin base de datos en el clúster Atlas que tenga el rol.

Si no existe tal usuario, cree uno:

  1. En Atlas, se debe ir a la página Database Access del proyecto.

    1. Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.

    2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

    3. En la barra lateral, haz clic en Database & Network Access en la sección Security.

      La página Acceso a la base de datos y a la red se muestra.

  2. Haga clic en Add New Database User.

  3. Agregar un usuario Atlas admin.

Para obtener más información sobre la administración de usuarios, consulte Configurar usuarios de base de datos.

4
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Clusters en la sección Database.

La página de clústeres se muestra.

5

Desde el menú del clúster, haga clic Command Line Tools en.

6

La Binary Import and Export Tools sección de la Command Line Tools pestaña muestra una plantilla copiable con las opciones mínimas requeridas para conectar a su clúster mongorestore Atlas.

La plantilla incluye valores de marcador de posición para ciertas opciones. Copie y pegue la plantilla en su editor de texto preferido y realice las siguientes modificaciones:

  • password: reemplaza esto con la contraseña para el usuario especificado en username. La plantilla incluye un usuario de base de datos para el proyecto como el username. Si deseas autenticarte como un usuario diferente, reemplaza el valor de username y especifica la contraseña para ese usuario en password.

  • Agregue y establezca su --nsExclude valor "admin.system.*" en.

  • Add --archive.

Dependiendo del tipo de cadena de conexión que utilice, su plantilla debería parecerse a uno de los siguientes comandos:

mongorestore --uri "mongodb://username:password@00.foo.mongodb.net:27017,01.foo.mongodb.net:27017,02.foo.mongodb.net:27017/?replicaSet=myRepl&authSource=admin" \
--archive \
--ssl \
--nsExclude "admin.system.*"
mongorestore --uri "mongodb+srv://username:password@cluster1.example.mongodb.net" \
--archive \
--nsExclude "admin.system.*"
7

Importante

Asegúrese de que el host donde está ejecutando mongodump y esté en la lista de mongorestoreacceso IP del proyecto.

Para revisar la lista de acceso IP de su proyecto, haga clic Network Access en en la Security sección de la barra lateral. Se IP Access List mostrará la pestaña. Para obtener más información, consulte Lista de acceso IP.

En su editor de texto preferido, utilice el operador de barra | vertical para separar los comandos y. Según el tipo de cadena de conexión que utilice, el comando final debería ser similar a uno de los mongodump mongorestore siguientes:

mongodump --uri "mongodb://username:password@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=sourceRS&authSource=admin" \
--archive \
| \
mongorestore --uri "mongodb://username:password@00.foo.mongodb.net:27017,01.foo.mongodb.net:27017,02.foo.mongodb.net:27017/?replicaSet=myAtlasRS&authSource=admin" \
--archive \
--ssl \
--nsExclude "admin.system.*"
mongodump --uri "mongodb+srv://username:password@cluster0.example.mongodb.net" \
--archive \
| \
mongorestore --uri "mongodb+srv://username:password@cluster1.example.mongodb.net" \
--archive \
--nsExclude "admin.system.*"

Ejecute el comando completo desde una terminal o shell conectado a una máquina host en su clúster de origen.

Tras completar el procedimiento correctamente, conéctese a su clúster Atlas mediante y verifique el resultado. Para saber cómo,mongosh consulte Conectarse a un clúster mediante Mongosh.

Debe actualizar sus aplicaciones para que apunten al clúster Atlas antes de reanudar las operaciones de escritura. Para saber cómo conectar aplicaciones a Atlas, consulte Conectarse a un clúster mediante bibliotecas cliente.

Tip