Cómo instalar MongoDB en AlmaLinux 9

MongoDB es un sistema de base de datos NoSQL (no SQL o no relacional) de código abierto, multiplataforma y distribuido. En lugar de almacenar datos en tablas como las bases de datos SQL tradicionales, MongoDB utiliza documentos flexibles para almacenar diversas formas de datos. MongoDB utiliza el formato binario JSON, BSON, para almacenar datos.

MongoDB es una base de datos NoSQL distribuida con alta disponibilidad integrada, conmutación automática por error y redundancia de datos, y escalado horizontal mediante fragmentación en clústeres distribuidos. Admite el despliegue geográfico multirregional y proporciona una API de consulta que admite operaciones CRUD (lectura y escritura), canalización de agregación de datos, búsqueda de texto y consultas geoespaciales.

Esta guía te mostrará cómo instalar MongoDB en un servidor Alma Linux 9. También habilitarás la autenticación MongoDB, configurarás un usuario administrador para MongoDB y crearás una nueva base de datos y un nuevo usuario para tus aplicaciones.

Requisitos previos

Para comenzar con esta guía, asegúrate de que tienes lo siguiente:

  • Un servidor Alma Linux 9
  • Un usuario no root con privilegios de administrador

Preparar el sistema (desactivar thp, configurar ulimit y sysctl.conf)

En esta sección, prepararás y configurarás tu servidor ALma Linux para la instalación de MongoDB. A continuación te indicamos tres cosas importantes que debes hacer:

  • Desactivar Transparent Huge Pages (THP) mediante el servicio systemd
  • Aumentar el máximo de procesos y archivos abiertos para el usuario ‘mongod
  • Configurar vm-max fs a través del archivo/etc/sysctl.conf’.

Así que primero, ejecuta el siguiente comando ‘dnf’ para instalar el editor de texto ‘nano’ en tu sistema Alma Linux.

sudo dnf install nano -y

Desactiva Páginas Transparentes Enormes (THP)

Ahora crea un nuevo archivo de servicio‘/etc/systemd/system/disable-thp.service‘ para desactivar Transparent Huge Pages (THP). Este servicio también se ejecutará en cada arranque del sistema.

sudo nano /etc/systemd/system/disable-thp.service

Introduce la siguiente configuración en el archivo.

[Unit]
Description=Disable Transparent Huge Pages (THP)
[Service]
Type=simple
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"

[Install]
WantedBy=multi-user.target

Cuando hayas terminado, guarda y sal del archivo.

A continuación, ejecuta el siguiente comando‘systemctl‘ para recargar el gestor systemd y aplicar tus cambios.

sudo systemctl daemon-reload

Por último, inicia y activa el comando‘disable-thp.service‘ con el comando que aparece a continuación. Con esto, THP se desactivará automáticamente al iniciarse.

sudo systemctl enable --now disable-thp.service

desactivar thp

Configurar ulimits

Crea una nueva configuración‘/etc/security/limits.d/mongodb.conf‘ con el siguiente editor‘nano‘.

sudo nano /etc/security/limits.d/mongodb.conf

Introduce en el archivo la configuración que aparece a continuación. Esto permite al usuario‘mongod‘ ejecutar procesos máximos y abrir descriptores de archivo máximos para‘64000‘.

mongod soft nproc 64000
mongod hard nproc 64000
mongod soft nofile 64000
mongod hard nofile 64000

Guarda el archivo y sal del editor.

Configurar sysctl.conf

Abre el archivo‘/etc/sysctl.conf‘ utilizando el editor‘nano‘.

sudo nano /etc/sysctl.conf

Añade las siguientes líneas para configurar fs.file-max, max map count y activar swappiness.

fs.file-max = 2097152
vm.max_map_count = 262144
vm.swappiness = 1

Guarda el archivo y sal del editor.

Ahora ejecuta el siguiente comando‘sysctl‘ para aplicar los cambios.

sudo sysctl -p

configurar ulimit y sysctl

Opcionalmente, también puedes reiniciar el servidor para aplicar tus cambios.

sudo reboot

Instalar MongoDB

Ahora, después de configurar tu servidor Alma Linux, inicia la instalación del servidor MongoDB con lo siguiente – En este caso, instalarás MongoDB 7.0 en el servidor Alma Linux 9.

En primer lugar, crea un nuevo archivo de repositorio MongoDB‘/etc/yum.repos.d/mongodb-org-7.0.repo‘ con el siguiente editor‘nano‘.

sudo nano /etc/yum.repos.d/mongodb-org-7.0.repo

Introduce en el archivo la configuración que aparece a continuación.

[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-7.0.asc

Guarda el archivo y sal del editor.

Ahora ejecuta el siguiente comando‘dnf‘ para listar los repositorios disponibles en tu servidor Alma Linux. Verás que se ha añadido el repositorio MongoDB.

sudo dnf repolist

configurar repositorio

A continuación, ejecuta el comando‘dnf install‘ para instalar MongoDB y el shell MongoDB en tu sistema. Introduce‘Y’ para confirmar la instalación.

sudo dnf install mongodb-org mongodb-mongosh

instalar mongodb

Una vez completada la instalación, inicia y activa el servicio‘mongod‘ de MongoDB, y comprueba el estado del servicio‘mongod‘ para asegurarte de que se está ejecutando.

sudo systemctl enable --now mongod
sudo systemctl status mongod

A continuación puedes ver que MongoDB se está ejecutando en el servidor Alma Linux.

empezar a verificar mongodb

Habilitar la autenticación de MongoDB

En este punto, el servidor MongoDB se está ejecutando en tu servidor Alma Linux. Ahora asegurarás tu instalación de MongoDB habilitando la autenticación por contraseña y configurando un nuevo usuario administrador de MongoDB. Además, aprenderás el ‘mongosh’ básico o shell de MongoDB para gestionar el servidor MongoDB.

En primer lugar, inicia sesión en el servidor MongoDB utilizando el comandomongosh’ que aparece a continuación.

mongosh

Una vez conectado a MongoDB, ejecuta la siguiente consulta para desactivar la Telemetría de MongoDB.

disableTelemetry()

Ahora cambia a la base de datos‘admin‘ y ejecuta la consulta de abajo para configurar un usuario administrador para MongoDB. En este ejemplo, crearás un nuevo usuario‘miAliceAdmin‘ como admin para MongoDB. Introduce también tu contraseña cuando se te solicite.

use admin
db.createUser(
{
user: "myAliceAdmin",
pwd: passwordPrompt(),
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" }
]
}
)

Si se crea el nuevo usuario, verás una salida‘{ ok: 1 }‘.

Escribe‘quit()‘ para salir del servidor MongoDB.

crear admin

A continuación, abre el archivo‘/etc/mongod.conf‘ utilizando el comando ‘nano‘.

sudo nano /etc/mongod.conf

Descomenta la opción‘security‘ y añade‘authorization: enabled‘ para activar la autenticación por contraseña en MongoDB.

security:
 authorization: enabled

Guarda el archivo y sal del editor.

Ahora ejecuta el siguiente comando‘systemctl‘ para reiniciar el servicio‘mongod‘ y aplicar tus cambios. Con esto, el servidor MongoDB debería estar funcionando con la autenticación activada.

sudo systemctl restart mongod

A continuación, ejecuta el comando«mongosh» para iniciar sesión en MongoDB.

mongosh

conectar con mongodb

Cambia a la base de datos‘admin‘ y autentifícate como usuario‘miAliceAdmin‘ con las siguientes consultas. Introduce tu contraseña cuando se te pida.

use admin
db.auth("myAliceAdmin", passwordPrompt())

Si la autenticación se realiza correctamente, obtendrás la salida‘{ ok: 1 }‘.

probar auth

Además, también puedes acceder a la base de datos‘admin‘ utilizando el usuario‘myAliceAdmin‘ mediante el comando‘mongosh‘ que aparece a continuación.

mongosh --port 27017 --authenticationDatabase \
"admin" -u "myAliceAdmin" -p

Crear un usuario en MongoDB

En esta sección, crearás una nueva base de datos y un nuevo usuario en MongoDB mediante el cliente MongoDB‘mongosh’.

Para crear una nueva base de datos y un nuevo usuario en MongoDB, ejecuta las siguientes consultas. En este ejemplo, crearás una nueva base de datos«mydb» y un nuevo usuario«myUser«. Introduce tu contraseña cuando se te solicite.

use mydb
db.createUser(
{
user: "myUser",
pwd: passwordPrompt(), // or cleartext password
roles: [ { role: "readWrite", db: "mydb" },
{ role: "read", db: "reporting" } ]
}
)

Si se crean la nueva base de datos y el nuevo usuario, obtendrás la salida‘{ ok: 1 }‘, y escribe‘quit()‘ para salir.

crear nuevo usuario y base de datos

A continuación, inicia sesión en el servidor MongoDB utilizando el comando‘mongosh‘ que aparece a continuación. Introduce la contraseña de«miUsuario» cuando se te solicite.

mongosh --port 27017 --authenticationDatabase \
"mydb" -u "myUser" -p

Si lo consigues, aparecerá el intérprete de comandos de MongoDB.

conectarse a la base de datos

Conclusión

¡Enhorabuena! Has completado la instalación de MongoDB en el servidor Alma Linux 9. También has asegurado MongoDB creando un usuario administrador y habilitando la autenticación por contraseña. Por último, también has aprendido a crear una base de datos y un usuario en MongoDB, y algunos comandos básicos ‘mongosh’ para conectarte al servidor MongoDB a través de la línea de comandos.

También te podría gustar...