Las versiones de MongoDB 3.0 y superiores utilizan archivos de configuración en formato YAML. Si no se especifica un archivo de configuración o parámetros al iniciar una isntancia de MongoDB, se ejecutará con la configuración predeterminada.
Parámetros básicos de configuración comunes
A continuación se muestran algunos parámetros esenciales en un archivo de configuración YAML para MongoDB:
almacenamiento:
# Directorio donde se almacenan los datos, aplicable solo al proceso mongod
rutaDatos: /var/lib/mongodb/datos
# Habilitar el diario para recuperación de datos; en sistemas de 64 bits es true por defecto
diario:
habilitado: true
# Motor de almacenamiento; en MongoDB 3.0+, puede ser 'wiredTiger' o 'mmapv1'
motor: wiredTiger
registroSistema:
# Destino del registro: archivo o syslog; si no se especifica, se usa la salida estándar
destino: archivo
# Si es true, se agregan registros al final del archivo existente al reiniciar
agregarRegistro: true
# Ruta del archivo de registro
ruta: /var/log/mongodb/registro.log
red:
# Puerto de escucha
puerto: 27017
# Direcciones IP vinculadas, separadas por comas para múltiples interfaces
ipVinculada: 0.0.0.0
# Límite máximo de conexiones entrantes
maxConexionesEntrantes: 10000
Configuración para optimización de memoria
El uso de memoria en MongoDB puede crecer con el tiempo, especialmente con el motor WiredTiger. Para limitar la memoria, se puede ajustar el tamaño de caché en la configuración. A continuación, un ejemplo modificado para controlar el consumo de memoria:
almacenamiento:
rutaDatos: /var/lib/mongodb/datos
diario:
habilitado: true
motor: wiredTiger
configuracionMotor:
# Tamaño de caché en GB para datos en uso; reduce la presión en la memoria del sistema
tamanoCacheGB: 4
registroSistema:
destino: archivo
agregarRegistro: true
ruta: /var/log/mongodb/registro.log
red:
puerto: 27018
ipVinculada: 127.0.0.1
maxConexionesEntrantes: 5000
Nota: El parámetro tamanoCacheGB solo controla la memoria del motor de almacenamiento, pero la memoria total de MongoDB puede ser mayor debido a otros componentes.
Implementación de autenticación de usuarios
Para habilitar la autenticación, primero se debe crear un usuario adminsitrador. Ejemplo en la shell de MongoDB:
use administrador
db.crearUsuario({
usuario: "admin_principal",
contrasena: "seguro123",
roles: [
{
rol: "adminUsuarioCualquierBase",
baseDatos: "administrador"
}
]
})
Luego, se agrega la siguiente configuración al archivo YAML:
seguridad:
autorizacion: habilitada
Después de reiniciar MongoDB, la autenticación se activa y se pueden crear usuarios adicionales con permisos específicos.