Cómo instalar y configurar MongoDB en CentOS 8

Agregue el repositorio MongoDB para CentOS 8

MongoDB es una base de datos NoSQL que proporciona alto rendimiento, alta disponibilidad y escalado autom√°tico. La base de datos NoSQL significa que, a diferencia de MySQL o PostgreSQL, no es compatible con SQL (lenguaje de consulta estructurado) para recuperar o manipular los datos almacenados.

MongoDB no almacena datos en tablas. En cambio, almacena datos en una estructura de ¬ędocumento¬Ľ similar a JSON (en MongoDB llamado BSON). MongoDB se introdujo por primera vez en 2009, hace seis a√Īos, y actualmente est√° desarrollado por MongoDB MongoDB Inc.

En este tutorial, le mostraremos c√≥mo instalar y configurar MongoDB 4.4 en el servidor CentOS 8. Instalaremos MongoDB, editaremos algunas configuraciones del sistema para corregir alg√ļn error en MongoDB, crearemos el usuario administrador para MongoDB y luego la autenticaci√≥n de MongoDB.

requisitos previos

  • Servidor CentOS 8
  • Privilegios de ra√≠z
  • Comprender el comando b√°sico de Linux/CentOS

¬ŅQue haremos?

  • Agregar repositorio MongoDB
  • Instalar MongoDB en CentOS 8
  • Reparar alg√ļn error de MongoDB
  • Crear usuario administrador de MongoDB
  • Habilitar la autenticaci√≥n de MongoDB
  • Pruebas

Paso 1: agregue el repositorio de MongoDB

Primero, inicie sesi√≥n en su servidor con su usuario y contrase√Īa de SSH, luego actualice todos los paquetes a la √ļltima versi√≥n con el siguiente comando.

ssh [email protected]
sudo dnf update

Ahora vaya al directorio ‘/etc/yum.repos.d’ y cree un nuevo archivo de repositorio ‘mongodb-4.4.repo’ usando el editor vim.

cd /etc/yum.repos.d/
vim mongodb-4.4.repo

Pegue el siguiente repositorio de MongoDB 4.4 en él.

[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc

Guardar y cerrar.

Luego, verifique todos los repositorios disponibles en el sistema CentOS usando el comando dnf a continuación.

sudo dnf repolist

A continuación se muestra el resultado que obtendrá.

Agregue el repositorio MongoDB para CentOS 8

Como resultado, el repositorio MongoDB se agregó al sistema CentOS 8.

Paso 2: instale el servidor de base de datos MongoDB NoSQL

Para instalar MongoDB NoSQL Database, ejecute el comando dnf a continuación.

sudo dnf install -y mongodb-org

Una vez completada toda la instalación, inicie el servicio MongoDB y agréguelo al inicio del sistema.

systemctl start mongod
systemctl enable mongod

El servicio MongoDB está en funcionamiento, verifíquelo con el siguiente comando.

ss -plnt
systemctl status mongod

A continuación se muestra el resultado que obtendrá.

Comprobar el estado del servicio MongoDB

Como puede verse, el servicio MongoDB se ejecuta en el puerto TCP predeterminado ‘27017’.

Paso 3: corrige el error de MongoDB

En esta etapa, el servicio MongoDB está funcionando en el sistema CentOS 8. Y para este paso, mejoraremos nuestra instalación de MongoDB cambiando algunas configuraciones del sistema para corregir algunos errores.

– Deshabilite las p√°ginas grandes transparentes (THP) usando Tuned

Para aumentar el rendimiento de la instalación de MongoDB, debemos deshabilitar THP o Transparent Huge Pages en nuestro sistema. Y para el sistema CentOS, puede deshabilitar THP a través de la configuración del perfil ajustado.

Cree un nuevo directorio ‘/etc/tuned/virtual-guest-no-thp’ para el perfil personalizado llamado ‘virtual-guest-no-thp’.

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

Luego, cree la configuraci√≥n ‘tuned.conf’ en el directorio ‘/etc/tuned/virtual-guest-no-thp/’ usando el editor vim.

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

Pegue la siguiente configuración en él.

[main]
include=virtual-guest

[vm]
transparent_hugepages=never


Guardar y cerrar.Publicidad

Ahora active el nuevo perfil sintonizado personalizado ‘virtual-guest-no-thp’ usando el comando tuned-adm a continuaci√≥n.

sudo tuned-adm profile virtual-guest-no-thp

Para verificar el estado de THP en el estado de Linux, verifique con el siguiente comando.

cat /sys/kernel/mm/transparent_hugepage/enabled

Ahora aseg√ļrate de obtener ‘[never]’ respuesta de la siguiente manera.

Deshabilite THP usando Tuned en CentOS 8

Como se puede ver, las páginas gigantes transparentes en el sistema CentOS se han deshabilitado a través del perfil Tuned.

– Configurar UNIX Ulimit

Ulimits o límites de usuario se utiliza para definir la cantidad de un recurso de todo el sistema que puede utilizar un usuario. Para mejorar y mejorar el rendimiento de MongoDB, debe aumentar la configuración de ulimit para el servicio MongoDB.

Ahora vaya al directorio ‘/etc/security/limits.d/’ y cree una nueva configuraci√≥n ‘monogd.conf’ usando el editor vim.

cd /etc/security/limits.d/
vim mongod.conf

Pegue la siguiente configuración en él.

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

Guardar y cerrar.

Para aplicar la nueva configuración, ejecute el siguiente comando.

sysctl -p

Ahora aseg√ļrese de que no tenga ning√ļn error y que la configuraci√≥n de Ulimit para MongoDB se haya completado.

– Deshabilitar la advertencia MongoDB Cloud Monitoring (Opcional)

Esta etapa es opcional. Puede ignorar la información sobre el servicio MongoDB Cloud Monitoring cuando inició sesión en el shell de MongoDB.

Para deshabilitar esta advertencia, inicie sesi√≥n en el shell de MongoDB usando el comando ¬ęmongo¬Ľ a continuaci√≥n.

mongo

Ahora ejecuta la siguiente consulta.

db.disableFreeMonitoring()

Escribe ‘salida‘ para cerrar sesi√≥n en el shell de MongoDB y ahora reiniciar su servidor.

sudo reboot

Y como resultado, la advertencia de los servicios de MongoDB Cloud Monitoring se ha ido.

Configure ulimit y deshabilite el monitoreo de la nube mongodb

Paso 4 – Crear usuario administrador MongoDB

En este paso, crearemos el usuario administrador para MongoDB a trav√©s del shell ‘mongo’.

Inicie sesi√≥n en el shell de MongoDB usando el comando ‘mongo’ a continuaci√≥n.

mongo

Ahora cambie a la base de datos ‘admin’.

use admin

Luego cree el nuevo usuario ‘admin’ con la contrase√Īa ‘hakasepasswordformongodbadmin’ usando la siguiente consulta.

db.createUser(
  {
    user: "admin",
    pwd: "hakasepasswordformongodbadmin",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

Y se ha creado el usuario de MongoDB, verifique todos los usuarios en MongoDB utilizando la consulta a continuación.

show users

A continuación se muestra el resultado que obtendrá.

Crear usuario administrador MongoDB

Como resultado, se ha creado el usuario administrador de MongoDB, escriba ‘salir’ para cerrar sesi√≥n en el shell de MongoDB.

Paso 5: habilite la autenticación de MongoDB

Después de crear el usuario administrador, habilitaremos la autenticación de MongoDB para evitar que otro usuario sin privilegios suficientes vea los datos en la base de datos.

Para habilitar la autenticaci√≥n MongoDB, edite la configuraci√≥n ‘/etc/mongod.conf’ usando el editor vim.

vim /etc/mongod.conf

Descomente la opci√≥n ‘seguridad’ y agregue la configuraci√≥n como se muestra a continuaci√≥n.

security
    authorization: "enabled"

Guardar y cerrar.

A continuación, reinicie el servicio MongoDB para aplicar la nueva configuración.

systemctl restart mongod

Aseg√ļrese de que no haya ning√ļn error y que la autenticaci√≥n de MongoDB est√© habilitada.

Habilitar la autenticación MongoDB

Paso 6 – Prueba

Para probar nuestra instalación y configuración de la autenticación de MongoDB, puede verificar a través del shell de MongoDB.

Inicie sesión en el shell de MongoDB usando el siguiente comando.

mongo

Luego, cambie a la base de datos ‘admin’ y muestre a todos los usuarios en MongoDB usando las siguientes consultas.

use admin
show users

A continuación se muestra el resultado que obtendrá.

Autenticación de prueba de MongoDB

Como puede verse, no est√° autorizado para mostrar la lista de todos los usuarios en la base de datos ‘admin’.

A continuación, autentíquese en el servidor MongoDB utilizando la siguiente consulta.

db.auth('admin', 'hakasepasswordformongodbadmin')

Ahora aseg√ļrese de obtener el n√ļmero de respuesta ‘1’lo que significa que la autenticaci√≥n es exitosa.

A continuación, puede mostrar y verificar todos los usuarios disponibles en su servidor MongoDB utilizando la consulta a continuación.

show users

Y obtendr√° el administrador de MongoDB que acabamos de crear en la parte superior.

Autenticación de prueba de MongoDB

Como resultado, la instalación y configuración del servidor de base de datos MongoDB NoSQL en el sistema CentOS 8 se completó con éxito.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *