MongoDB 3.0 presenta un nuevo motor de almacenamiento llamado wiredTiger
que resulta en un uso de memoria y espacio en disco muy reducido.
Dado que mi base de datos está actualmente en ~ 20 millones de objetos y usa hasta ~ 70 GB de RAM, esta actualización llega en el momento justo para posponer una actualización de hardware.
¿Cómo migra una instalación existente de MongoDB 2.6 a 3.0 y al mismo tiempo obtiene los beneficios de wiredTiger?
La documentación se refiere a opciones que dan como resultado errores de inicio que impiden que MongoDB se inicie. Además, las ubicaciones de los archivos no coinciden con las de Ubuntu (Servidor 14.04 LTS).
Respuestas:
En instalaciones predeterminadas, el archivo de configuración está en
/etc/mongod.conf
. Lo que los documentos de MongoDB no mencionan es que al migrar a WiredTiger también necesitamos actualizar el archivo de configuración al nuevo formato YAML introducido en 2.6.Por lo que puedo decir, la
engine
opción solo está disponible en el nuevo formato de configuración.La migración desde el antiguo motor de almacenamiento consiste en crear un volcado de la base de datos, cerrar mongodb, cambiar la configuración y luego importar el volcado al nuevo motor de almacenamiento.
Crea una copia de seguridad. Seriamente. Necesitamos un volcado de base de datos que luego importaremos al nuevo motor de base de datos:
Detener el servicio mongodb
Mueva los datos de la ubicación actual a otro lugar (MongoDB no se iniciará si el directorio de datos contiene archivos generados por el antiguo motor de almacenamiento).
Actualice MongoDB a la versión 3.0 (desde http://docs.mongodb.org/v3.0/tutorial/install-mongodb-on-ubuntu/ ):
Convierta el archivo de configuración de la versión anterior (2.6) al formato YAML actual. El mínimo básico es:
Asegúrese de que no queden líneas en el formato anterior, o MongoDB no se iniciará.
La documentación completa para el archivo de configuración está en: http://docs.mongodb.org/v3.0/reference/configuration-options/
Opcionalmente, haga una copia de seguridad del registro:
Reiniciar mongodb
Cargue la copia de seguridad para convertir datos a un nuevo motor de almacenamiento
Después de verificar que todos sus datos estén bien, puede eliminar el directorio con el formato de datos anterior
Tenga en cuenta que para los conjuntos de réplicas y los clústeres fragmentados hay algunos pasos adicionales: http://docs.mongodb.org/v3.0/release-notes/3.0-upgrade/?_ga=1.86531032.1131483509.1428671022#change-replica-set-storage de motor a cable
fuente
Usando el formato de archivo de configuración anterior , tuve éxito con:
fuente