Nota
Debe actualizar a WiredTiger. MongoDB eliminó el motor de almacenamiento obsoleto MMAPv1 en la versión 4.2.
Sigue este tutorial para cambiar el motor de almacenamiento de un instancia autónoma de MongoDB a WiredTiger.
Considerations
mongodump y mongorestore
Este tutorial utiliza las utilidades mongodump y mongorestore para exportar e importar datos.
Enlace por defecto a localhost
Los binarios de MongoDB, mongod y mongos, se enlazan a localhost por defecto.
El tutorial ejecuta mongodump y mongorestore desde el mismo host al que se están conectando que el mongod. Si se ejecuta de forma remota, mongodump y mongorestore deben especificar la dirección IP o el nombre de host asociado para conectarse al mongod.
XFS y WiredTiger
Con el motor de almacenamiento WiredTiger, se recomienda utilizar XFS para los nodos que contienen datos en Linux. Para obtener más información, consulta Kernels y sistemas de archivos.
Restricciones exclusivas de MMAPv1
Una vez actualizado a WiredTiger, su implementación en WiredTiger no estará sujeto a las siguientes restricciones exclusivas de MMAPv1:
Restricciones de MMAPv1 | Descripción corta |
|---|---|
Número de espacios de nombres | Para MMAPv1, el número de espacios de nombres está limitado al tamaño del archivo de espacio de nombres dividido por 628. |
Tamaño del archivo del espacio de nombres | Para MMAPv1, los archivos de espacio de nombres no pueden tener más de 2047 megabytes. |
Tamaño de la base de datos | El motor de almacenamiento MMAPv1 limita cada base de datos a no más de 16000 archivos de datos. |
dataSize | Para MMAPv1, una sola instancia no puede administrar un conjunto de datos que exceda el espacio máximo de direcciones de memoria virtual proporcionado por el sistema operativo |
Número de colecciones en una base de datos | Para el motor de almacenamiento MMAPv1, el número máximo de colecciones en una base de datos depende del tamaño del archivo de namespace y del número de índices de colecciones en la base de datos. |
Procedimiento
Inicie el mongod que desea cambiar a WiredTiger.
Si mongod ya está en ejecución, puede omitir este paso.
Exportar datos mongodump utilizando.
mongodump --out=<exportDataDestination>
Especifica opciones adicionales según corresponda, como nombre de usuario y contraseña si se ejecuta con autorización habilitada. Consulta mongodump para conocer las opciones disponibles.
Crea un directorio de datos para el nuevo mongod que se ejecuta con WiredTiger.
Cree un directorio de datos para la nueva instancia que se ejecutará con el motor de almacenamiento mongod WiredTiger. mongod debe tener permisos de lectura y escritura para este directorio.
mongod con WiredTiger no se iniciará con archivos de datos creados con un motor de almacenamiento diferente.
Actualizar la configuración de WiredTiger.
Elimine cualquier opción de configuración de MMAPv1 de la configuración de la instancia mongod.
Inicia mongod con WiredTiger.
Inicia mongod especificando wiredTiger como el --storageEngine y el nuevo directorio de datos creado para WiredTiger como el --dbpath.
Especifica opciones adicionales según corresponda, como --bind_ip.
Advertencia
Antes de enlazar a un host que no sea localhost (por ejemplo, Públicamente accesible) dirección IP, asegúrese de que ha protegido su clúster de accesos no autorizados. Para obtener una lista completa de recomendaciones de seguridad, consulta la Lista de verificación de seguridad para implementaciones autogestionadas. Como mínimo, considera activar la autenticación y fortalecer la infraestructura de red.
mongod --storageEngine wiredTiger --dbpath <newWiredTigerDBPath> --bind_ip localhost,<hostname(s)|ip address(es)>
También puedes especificar las opciones en un archivo de configuración. Para especificar el motor de almacenamiento, utiliza el ajuste storage.engine.
Suba los datos exportados usando mongorestore.
mongorestore <exportDataDestination>
Especifique las opciones adicionales que considere oportunas. Consulte mongorestore para conocer las opciones disponibles.