GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar MongoDB en CentOS 8 / RHEL 8

MongoDB es de código abierto, una de las bases de datos orientadas a documentos (NoSQL) más populares. En MongoDB, los datos se almacenan en documentos similares a JSON con esquemas dinámicos, a diferencia de las tablas y filas de una base de datos relacional.

MongoDB está diseñado teniendo en cuenta tanto la escalabilidad como la agilidad del desarrollador. Está disponible para Windows, Linux, OS X, Solaris y FreeBSD.

En esta publicación, veremos cómo instalar MongoDB en CentOS 8 / RHEL 8.

Ediciones de MongoDB

MongoDB Inc lanza dos ediciones de servidor de MongoDB para sus usuarios finales.

  1. Servidor empresarial MongoDB

  2. Servidor de la comunidad MongoDB

Aquí veremos cómo instalar la edición comunitaria de MongoDB. El servidor de la comunidad MongoDB se publica bajo la Licencia pública del lado del servidor (SSPL).

Añadir repositorio MongoDB

MongoDB Inc proporciona un repositorio de software dedicado para descargar e instalar la base de datos de MongoDB.

Agregue el repositorio MongoDB en su sistema.

MongoDB 4.4

cat << EOF > /etc/yum.repos.d/mongodb.repo
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOF
 

MongoDB 4.2

cat << EOF > /etc/yum.repos.d/mongodb.repo
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
EOF
 

Instalar MongoDB

Una vez que haya agregado el repositorio de MongoDB, use el comando dnf para instalar MongoDB.

dnf install -y mongodb-org
 

SELinux

Para ejecutar MongoDB con SELinux habilitado (modo obligatorio), siga las instrucciones para personalizar la política de SELinux para MongoDB. Omita los pasos a continuación, en caso de que haya desactivado SELinux en su sistema.

Instale el paquete checkpolicy con el comando dnf.

dnf install -y checkpolicy
 

Cree un archivo de política de SELinux para permitir que el proceso de MongoDB acceda al cgroup para determinar la memoria disponible en su sistema.

cat > mongodb_cgroup_memory.te <<EOF
module mongodb_cgroup_memory 1.0;

require {
    type cgroup_t;
    type mongod_t;
    class dir search;
    class file { getattr open read };
}

#============= mongod_t ==============
allow mongod_t cgroup_t:dir search;
allow mongod_t cgroup_t:file { getattr open read };
EOF
 

Compile y cargue nuestro módulo de política SELinux personalizado usando los siguientes comandos.

checkmodule -M -m -o mongodb_cgroup_memory.mod mongodb_cgroup_memory.te

semodule_package -o mongodb_cgroup_memory.pp -m mongodb_cgroup_memory.mod

semodule -i mongodb_cgroup_memory.pp
 

Pasos posteriores a la instalación

Configuración de Ulimit

De forma predeterminada, la mayoría de los sistemas tienen un límite establecido para la cantidad de procesos, archivos abiertos, memoria, etc. que puede tener un usuario en particular (fid de aplicación), y estos límites pueden causar problemas en la operación de MongoDB.

MongoDB ahora proporciona configuraciones de límite recomendadas en el archivo de unidad systemd. Por lo tanto, no necesitamos establecer los límites manualmente.

Habilitar control de acceso

Si toma bases de datos relacionales como MySQL o PostgreSQL, etc. viene con al menos algún nivel de autenticación para el cual los usuarios deben autenticarse para realizar actividades de base de datos.

Pero, en el caso de MongoDB, no es así. Todos los usuarios pueden acceder a cualquier base de datos y realizar cualquier operación sin autenticación.

Para resolver este problema, primero cree un usuario administrador para la operación diaria.

Luego, debemos habilitar el control de acceso editando el archivo de configuración de MongoDB.

vi /etc/mongod.conf
 

Agregue las siguientes líneas.

security:
  authorization: enabled
 

Desactivar páginas enormes

Las páginas grandes transparentes a menudo crean problemas de rendimiento para las cargas de trabajo de la base de datos. Por lo tanto, MongoDB recomienda deshabilitar las páginas grandes para obtener el mejor rendimiento.

Cree un directorio, coloque un archivo de perfil ajustado para deshabilitar las páginas grandes.

mkdir /etc/tuned/virtual-guest-no-thp
 

Crea un archivo.

vi /etc/tuned/virtual-guest-no-thp/tuned.conf
 

Coloque las siguientes líneas en el archivo capaz.

[main]
include=virtual-guest

[vm]
transparent_hugepages=never
 

Habilite nuestro perfil recién creado.

tuned-adm profile virtual-guest-no-thp
 

Iniciar servicio MongoDB

Para iniciar el servicio MongoDB, ejecute:

systemctl start mongod
 

Para verificar el estado del servicio MongoDB, ejecute:

systemctl status mongod
 
Salida:● mongod.service - Servidor de base de datos MongoDB Cargado:cargado (/usr/lib/systemd/system/mongod.service; habilitado; valor predeterminado del proveedor:deshabilitado) Activo:activo (en ejecución) desde el lunes 10 de agosto de 2020 13:10:15 EDT; Hace 11 segundos Documentos:https://docs.mongodb.org/manual Proceso:3147 ExecStart=/usr/bin/mongod $OPCIONES (código=salido, estado=0/ÉXITO) Proceso:3145 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (código=salido, estado=0/ÉXITO) Proceso:3143 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (código=salido, estado=0/SU> Proceso :3141 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (código=salido, estado=0/ÉXITO) PID principal:3149 (mongod) Memoria:61,1 M CGroup:/system.slice/mongod.service └─3149 /usr/bin/mongod -f /etc/mongod.conf10 de agosto 13:10:14 centos8.itzgeek.local systemd[1]:Iniciando el servidor de base de datos MongoDB... 10 de agosto 13:10:14 centos8.itzgeek .local mongod[3147]:a punto de bifurcar el proceso secundario, esperando hasta el servicio> 10 de agosto 13:10:14 centos8.itzgeek.local mongod[3147]:proceso bifurcado:3149 10 de agosto 13:10:15 centos8.itzgeek.local mongod [3147]:el proceso secundario se inició correctamente, el padre salió> 10 de agosto 13:10:15 centos8.itzgeek.local systemd[1]:se inició el servidor de base de datos MongoDB.

Compruebe la versión de MongoDB.

mongod --version
 
Salida:versión de base de datos v4.4.0Información de compilación:{ "versión":"4.4.0", "gitVersion":"563487e100c4215e2dce98d0af2a6a5a2d67c5cf", "openSSLVersion":"OpenSSL 1.1.1c FIPS 28 de mayo de 2019", "módulos" :[], "asignador":"tcmalloc", "entorno":{ "distmod":"rhel80", "distarch":"x86_64", "target_arch":"x86_64" }}

Use el comando netstat para verificar si MongoDB está escuchando en el puerto 27017.

netstat -antup | grep -i 27017
 
Salida:tcp 0 0 127.0.0.1:27017 0.0.0.0:* ESCUCHAR 6898/mongod

LEA: Comando netstat no encontrado en CentOS 7 / RHEL 7 – Solución rápida

Acceder a MongoDB

Conéctese al shell de MongoDB ingresando el siguiente comando.

mongo
 
Salida:MongoDB shell versión v4.4.0conectando a:mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodbSesión implícita:session { "id" :UUID("3ecdceaa-5050-41a3-96e3-8f821362523b ") }Versión del servidor MongoDB:4.4.0 Bienvenido al shell de MongoDB. Para obtener ayuda interactiva, escriba "ayuda". Para obtener una documentación más completa, consulte https://docs.mongodb.com/Questions? Pruebe los foros de la comunidad de desarrolladores de MongoDB https://community.mongodb.com>

Conclusión

Eso es todo. Espero que, a estas alturas, tenga MongoDB en su sistema CentOS 8/RHEL 8. Comparta sus comentarios en la sección de comentarios.


Cent OS
  1. Cómo instalar MongoDB en CentOS 8

  2. Cómo instalar phpMyAdmin en RHEL 8 / CentOS 8

  3. Cómo instalar P7Zip en RHEL 8 / CentOS 8

  4. Cómo instalar MongoDB 4.2/4.0 en CentOS 6/RHEL 6

  5. Cómo instalar MongoDB 4.4/4.2 en CentOS 7/RHEL 7

Cómo instalar maven en RHEL 8 / CentOS 8

Cómo instalar cpan en RHEL 8 / CentOS 8

Cómo instalar MongoDB en CentOS 8

Cómo instalar MongoDB en RHEL, CentOS, Rocky y AlmaLinux

Cómo instalar MongoDB en CentOS 6

¿Cómo instalar Mongodb en CentOS?

    mongob-org (Metapaquete que se instala debajo de los componentes)
    mongodb-org-servidor Paquete de servidor
    mongodb-org-mongos Demonio compartido
    mongodb-org-shell Interfaz de línea de comandos
    mongodb-org-herramientas Herramientas MongoDB (importar, exportar, restaurar, volcar y otras herramientas)