Nota
MongoDB Atlas
MongoDB Atlas es una opción para utilizar MongoDB alojada en la nube, que no requiere instalación y ofrece un nivel gratuito para comenzar.
Overview
Utiliza este tutorial para instalar MongoDB 7.0 Enterprise Edition en Red Hat Enterprise Linux, CentOS Linux u Oracle Linux [1] usando el administrador de paquetes apt.
MongoDB Enterprise Edition está disponible en plataformas seleccionadas y contiene soporte para caracterÃsticas relacionadas con seguridad y supervisión.
Versión de MongoDB
Este tutorial instala MongoDB 7.0 Enterprise Edition. Para instalar una versión diferente de MongoDB Enterprise, utiliza el menú desplegable de versiones en la esquina superior izquierda de esta página para seleccionar la documentación de esa versión.
Considerations
Soporte de plataforma
MongoDB 7.0 Enterprise Edition admite las siguientes versiones de 64 bits de Red Hat Enterprise Linux (RHEL), CentOS Linux, Oracle Linux [1], Rocky Linux y AlmaLinux [2] en la arquitectura x86_64:
RHEL / CentOS Stream / Oracle / Rocky / AlmaLinux 10
RHEL / CentOS Stream / Oracle / Rocky / AlmaLinux 9
RHEL / CentOS Stream / Oracle / Rocky / AlmaLinux 8
RHEL / CentOS / Oracle 7
MongoDB solo soporta las versiones de 64 bits de estas plataformas.
MongoDB 7.0 Enterprise Edition en RHEL / CentOS / Oracle / Rocky / Alma Linux también admite la arquitectura ARM64 en plataformas seleccionadas.
Consulte Soporte de plataforma para obtener más información.
| [1] | (1, 2) MongoDB solo admite Oracle Linux que ejecuta el Red Hat Compatible Kernel (RHCK). MongoDB no es compatible con el Unbreakable Enterprise Kernel (UEK). |
| [2] | Los productos on-premises de MongoDB lanzados para la versión 8.0+ de RHEL son compatibles y están soportados en Rocky Linux versión 8.0+ y AlmaLinux versión 8.0+, siempre que esas distribuciones cumplan con su obligación de ofrecer compatibilidad total con RHEL. |
Notas de producción
Antes de implementar MongoDB en un entorno de producción, consulta el documento Notas de producción para implementaciones autogestionadas para obtener consideraciones de rendimiento y recomendaciones de configuración.
Instale MongoDB Enterprise Edition
Sigue estos pasos para instalar MongoDB Enterprise Edition usando el gestor de paquetes apt.
Configura el repositorio.
Cree un archivo /etc/yum.repos.d/mongodb-enterprise-7.0.repo para que pueda instalar MongoDB Enterprise directamente usando yum:
[mongodb-enterprise-7.0] name=MongoDB Enterprise Repository baseurl=https://repo.mongodb.com/yum/redhat/10/mongodb-enterprise/7.0/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://pgp.mongodb.com/server-7.0.asc
[mongodb-enterprise-7.0] name=MongoDB Enterprise Repository baseurl=https://repo.mongodb.com/yum/redhat/9/mongodb-enterprise/7.0/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://pgp.mongodb.com/server-7.0.asc
[mongodb-enterprise-7.0] name=MongoDB Enterprise Repository baseurl=https://repo.mongodb.com/yum/redhat/8/mongodb-enterprise/7.0/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://pgp.mongodb.com/server-7.0.asc
[mongodb-enterprise-7.0] name=MongoDB Enterprise Repository baseurl=https://repo.mongodb.com/yum/redhat/7/mongodb-enterprise/7.0/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://pgp.mongodb.com/server-7.0.asc
Nota
Si tienes un archivo mongodb-enterprise.repo en este directorio de una instalación previa de MongoDB, debes eliminarlo. Usa el mongodb-enterprise-7.0.repo archivo anterior para instalar MongoDB 7.0.
También se pueden descargar los archivos de .rpm directamente del repositorio de MongoDB. Las descargas están organizadas por versión de Red Hat / CentOS (por ejemplo, 9), luego la versión de lanzamiento de MongoDB (p. ej., 7.0), luego arquitectura (p. ej., x86_64).
Instala MongoDB Enterprise servidor.
Para instalar la última versión estable de MongoDB Enterprise 7.0, emita el siguiente comando:
sudo yum install -y mongodb-enterprise
Para instalar una versión especÃfica, debes especificar cada paquete de componente individualmente junto con el número de versión.
sudo yum install -y \ mongodb-enterprise-7.0.24 \ mongodb-enterprise-database-7.0.24 \ mongodb-enterprise-server-7.0.24 \ mongodb-mongosh \ mongodb-enterprise-mongos-7.0.24 \ mongodb-enterprise-tools-7.0.24 \ mongodb-enterprise-cryptd-7.0.24 \ mongodb-enterprise-database-tools-extra-7.0.24
Nota
Aunque se puede especificar cualquier versión disponible de MongoDB Enterprise, yum actualiza los paquetes cuando hay una versión más nueva disponible. Para evitar actualizaciones no deseadas, fijar el paquete añadiendo la siguiente directiva de exclude a su archivo de /etc/yum.conf:
exclude=mongodb-enterprise,mongodb-enterprise-database,mongodb-enterprise-server,mongodb-enterprise-shell,mongodb-enterprise-mongos,mongodb-enterprise-tools
Nota
También se puede instalar el MongoDB Shell que utiliza el OpenSSL del sistema. Se debe haber instalado OpenSSL en el sistema antes de instalar esta versión de MongoDB Shell.
Puedes instalar todos los paquetes de MongoDB Enterprise y el MongoDB Shell que utiliza el OpenSSL del sistema sin remover primero el MongoDB Shell. Por ejemplo:
sudo yum install -y mongodb-enterprise mongodb-mongosh-shared-openssl11
El siguiente ejemplo remueve el MongoDB Shell y luego instala el MongoDB Shell que utiliza el OpenSSL 1.1 del sistema:
sudo yum remove -y mongodb-mongosh && sudo yum install -y mongodb-mongosh-shared-openssl11
El siguiente ejemplo remueve el MongoDB Shell y luego instala el MongoDB Shell que utiliza el OpenSSL 3 del sistema:
sudo yum remove -y mongodb-mongosh && sudo yum install -y mongodb-mongosh-shared-openssl3
Si la consola de MongoDB no se inicia y muestra el siguiente error, instale el paquete mongodb-mongosh-shared-openssl3 utilizando los comandos anteriores:
mongosh: OpenSSL configuration error: ...:error:030000A9:digital envelope routines:alg_module_init:unknown option:../deps/openssl/openssl/crypto/evp/evp_cnf.c:61:name=rh-allow-sha1-signatures, value=yes
El error afecta a RHEL 9+ y sus derivados, como Amazon Linux 2023.
También puedes elegir los paquetes de MongoDB que deseas instalar.
En el siguiente ejemplo se instalan MongoDB Enterprise y las herramientas, asà como el MongoDB Shell que utiliza OpenSSL 1.1 del sistema:
sudo yum install -y mongodb-enterprise-database mongodb-enterprise-tools mongodb-mongosh-shared-openssl11
En el siguiente ejemplo se instalan MongoDB Enterprise y las herramientas, asà como el MongoDB Shell que utiliza OpenSSL 3 del sistema:
sudo yum install -y mongodb-enterprise-database mongodb-enterprise-tools mongodb-mongosh-shared-openssl3
Ejecute MongoDB Enterprise Edition
ulimit
La mayorÃa de los sistemas operativos tipo Unix limitan los recursos del sistema que un proceso puede utilizar. Estos lÃmites pueden afectar negativamente al funcionamiento de MongoDB y deben ajustarse. Consulte la sección «Configuración de ulimit en UNIX para implementaciones autogestionadas» para obtener la configuración recomendada para su plataforma.
Nota
Si el valor ulimit para el número de archivos abiertos es inferior a 64000, MongoDB genera una advertencia de inicio.
Rutas de directorio
Para usar directorios por defecto
Por defecto, MongoDB se ejecuta utilizando la cuenta de usuario mongodb y emplea los siguientes directorios por defecto:
/var/lib/mongodb(el directorio de datos)/var/log/mongodb(el directorio de registros)
El administrador de paquetes crea los directorios por defecto durante la instalación. El propietario y el nombre del grupo son mongodb.
Para usar directorios no por defecto
Para utilizar un directorio de datos y/o un directorio de registros diferentes a los directorios por defecto:
Cree el nuevo directorio o directorios.
Edite el archivo de configuración
/etc/mongod.confy modifique los siguientes campos en consecuencia:storage.dbPathpara especificar una nueva ruta de directorio de datos, como/some/data/directorysystemLog.pathpara especificar una nueva ruta de entrada de registro, como/some/log/directory/mongod.log
Asegúrese de que el usuario que ejecuta MongoDB tenga acceso al directorio o a los directorios:
sudo chown -R mongod:mongod <directory> Si cambia el usuario que ejecuta el proceso de MongoDB, debe conceder al nuevo usuario acceso a estos directorios.
Configura SELinux si corresponde. Consulta Configurar SELinux.
Configure SELinux
A partir de MongoDB 5.0, está disponible una nueva polÃtica de SELinux para las instalaciones de MongoDB que:
Utilice un instalador
.rpm.Utilice los ajustes de configuración por defecto.
Ejecute en RHEL7 o posterior.
Para las instalaciones de MongoDB Enterprise que usan la autenticación LDAP, deben estar en vigor las siguientes polÃticas SELinux adicionales:
Para las implementaciones que utilizan autenticación LDAP a través de librerÃas de sistemas operativos, MongoDB debe tener acceso a los puertos
tcontext=system_u:object_r:ldap_port_t:s0de LDAP. Puedes habilitar el acceso ejecutandosetsebool -P authlogin_nsswitch_use_ldap 1.Para las implementaciones que utilicen la autenticación LDAP mediante saslauthd, debe habilitar el modo clúster ejecutando
sudo setsebool -P daemons_enable_cluster_mode 1.
Si tu instalación no cumple con estos requisitos, consulta las Instrucciones de SELinux para paquetes .tgz.
Nota
Si su implementación de MongoDB utiliza configuraciones personalizadas para cualquiera de los siguientes:
No puedes usar la polÃtica SELinux proporcionada por MongoDB. Una alternativa es crear una polÃtica SELinux personalizada. Sin embargo, una polÃtica personalizada escrita incorrectamente podrÃa ser menos segura o impedir que el mongod instancia funcione correctamente.
Instale la polÃtica de SELinux
Asegúrese de que tiene instalados los siguientes paquetes:
gitmakecheckpolicypolicycoreutilsselinux-policy-devel
sudo yum install git make checkpolicy policycoreutils selinux-policy-devel Descargue el repositorio de polÃticas.
git clone https://github.com/mongodb/mongodb-selinux Compile la polÃtica.
cd mongodb-selinux make Aplique la polÃtica.
sudo make install
Importante
CaracterÃstica incompatible con versiones anteriores
A partir de MongoDB 5.1, debe ejecutar el siguiente comando desde el directorio en el que se clonó previamente la polÃtica SELinux antes de poder revertir a una versión anterior de MongoDB:
sudo make uninstall
Consideraciones de la polÃtica de SELinux
La polÃtica de SELinux está diseñada para funcionar con la configuración que resulta de una instalación estándar del paquete MongoDB
.rpm. Consulta los supuestos de instalación estándar para más detalles.La polÃtica de SELinux está diseñada para servidores
mongod. No se aplica a otros demonios o herramientas de MongoDB, tales como:La polÃtica de referencia proporcionada por el Proyecto SELinux incluye una
mongodb_adminmacro. Esta macro no está incluida en la polÃtica SELinux de MongoDB. Un administrador en elunconfined_tdominio puedemongodgestionar.Para desinstalar la polÃtica, dirÃjase al directorio donde descargó el repositorio de polÃticas y ejecute:
sudo make uninstall
Procedimiento
Se deben seguir estos pasos para ejecutar MongoDB Enterprise Edition en el sistema. Estas instrucciones asumen que se está utilizando la configuración por defecto.
Sistema de inicialización
Para ejecutar y gestionar su proceso mongod, utilice el sistema de inicialización integrado de su sistema operativo. Las versiones más recientes de Linux usan systemd, que utiliza el comando systemctl, mientras que las versiones más antiguas de Linux usan System V init, que utiliza el comando service.
Si no está seguro de qué sistema de inicialización utiliza su plataforma, ejecute el siguiente comando:
ps --no-headers -o comm 1
Luego, seleccione la pestaña adecuada a continuación según el resultado:
systemd- selecciona la pestaña systemd (systemctl) a continuacióninit- selecciona la pestaña System V Init (service) a continuación.
Inicia MongoDB.
Puedes iniciar el proceso mongod emitiendo el siguiente comando:
sudo systemctl start mongod
Si recibe un error similar al siguiente al iniciar mongod:
Failed to start mongod.service: Unit mongod.service not found.
Ejecute primero el siguiente comando:
sudo systemctl daemon-reload
Luego ejecuta de nuevo el comando de inicio mencionado arriba.
Verifica que MongoDB se haya iniciado correctamente.
Puedes verificar que el proceso mongod ha comenzado correctamente emitiendo el siguiente comando:
sudo systemctl status mongod
Puedes asegurarte opcionalmente de que MongoDB se inicie después de un reinicio del sistema emitiendo el siguiente comando:
sudo systemctl enable mongod
Detenga MongoDB.
Según sea necesario, puedes detener el proceso mongod ejecutando el siguiente comando:
sudo systemctl stop mongod
Reinicia MongoDB.
Puedes reiniciar el proceso mongod emitiendo el siguiente comando:
sudo systemctl restart mongod
Puedes seguir el estado del proceso para detectar errores o mensajes importantes observando la salida en el archivo /var/log/mongodb/mongod.log.
Comienza a utilizar MongoDB.
Inicia una sesiónmongosh en la misma máquina host que el mongod. Puedes ejecutar mongosh sin opciones de lÃnea de comandos para conectarse a un mongod que se ejecuta en su localhost con el puerto por defecto 27017.
mongosh
Para obtener más información sobre cómo conectarse usando mongosh, por ejemplo, para conectarse a una instancia mongod que se ejecuta en un host y/o puerto diferente, consulta la documentación de mongosh.
Para ayudarle a empezar a usar MongoDB, MongoDB provee GuÃas para comenzar para varias ediciones de controladores. Para la documentación del controlador, consulte Comience a desarrollar con MongoDB.
Inicia MongoDB.
Puedes iniciar el proceso mongod emitiendo el siguiente comando:
sudo service mongod start
Verifica que MongoDB haya iniciado correctamente
Puedes verificar que el proceso mongod se ha iniciado correctamente comprobando el contenido de la entrada de registro en /var/log/mongodb/mongod.log para una lectura de lÃnea
[initandlisten] waiting for connections on port <port>
donde <port> es el puerto configurado en /etc/mongod.conf, 27017 por defecto.
Puedes asegurarte opcionalmente de que MongoDB se inicie después de un reinicio del sistema emitiendo el siguiente comando:
sudo chkconfig mongod on
Detenga MongoDB.
Según sea necesario, puedes detener el proceso mongod ejecutando el siguiente comando:
sudo service mongod stop
Reinicia MongoDB.
Puedes reiniciar el proceso mongod emitiendo el siguiente comando:
sudo service mongod restart
Puedes seguir el estado del proceso para detectar errores o mensajes importantes observando la salida en el archivo /var/log/mongodb/mongod.log.
Comienza a utilizar MongoDB.
Inicia una sesiónmongosh en la misma máquina host que el mongod. Puedes ejecutar mongosh sin opciones de lÃnea de comandos para conectarse a un mongod que se ejecuta en su localhost con el puerto por defecto 27017.
mongosh
Para obtener más información sobre cómo conectarse usando mongosh, por ejemplo, para conectarse a una instancia mongod que se ejecuta en un host y/o puerto diferente, consulta la documentación de mongosh.
Para ayudarle a empezar a usar MongoDB, MongoDB provee GuÃas para comenzar para varias ediciones de controladores. Para la documentación del controlador, consulte Comience a desarrollar con MongoDB.
Desinstale MongoDB
Para remover completamente MongoDB de un sistema, debe remover las aplicaciones de MongoDB, los archivos de configuración y cualquier directorio que contenga datos y registros. La siguiente sección le presenta una guÃa a través de los pasos necesarios.
Advertencia
Este proceso completamente removerá MongoDB, su configuración y todas las bases de datos. Este proceso no es reversible, asà que asegúrese de que toda su configuración y datos estén respaldados antes de continuar.
Detenga MongoDB.
Detenga el proceso de mongod emitiendo el siguiente comando:
sudo service mongod stop
Información Adicional
Vinculación a localhost por defecto
By default, MongoDB launches with bindIp set to 127.0.0.1, which binds to the localhost network interface. This means that the mongod can only accept connections from clients that are running on the same machine. Remote clients will not be able to connect to the mongod, and the mongod will not be able to initialize a replica set unless this value is set to a valid network interface which is accessible from the remote clients.
Este valor se puede configurar:
en el archivo de configuración de MongoDB con
bindIp, omediante el argumento de la lÃnea de comandos
--bind_ip
Advertencia
Antes de vincular la instancia a una dirección IP de acceso público, se debe asegurar el clúster contra accesos no autorizados. Para obtener una lista completa de recomendaciones de seguridad, se debe consultar Checklist de seguridad para implementaciones autogestionadas. Como mÃnimo, se debe considerar habilitar la autenticación y reforzar la infraestructura de red.
Para obtener más información sobre cómo configurar bindIp, consulta Vinculación de IP en Implementaciones Autogestionadas.
Paquetes de MongoDB Enterprise Edition
MongoDB Enterprise Edition está disponible en su propio repositorio dedicado, y contiene los siguientes paquetes oficialmente soportados:
Nombre del paquete | Descripción | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Un | ||||||||
| Un
| ||||||||
| Contiene el MongoDB Shell ( | ||||||||
| Contiene el MongoDB Shell que utiliza la versión de OpenSSL ya instalada en su ordenador ( | ||||||||
| Un
|