Como instalar MongoDB en CentOS 7

Introducción

¿Cómo instalar MongoDB en CentOS7? Primero es necesario saber que MongoDB es una base de datos orientada a documentos que es gratuita y de código abierto. Se clasifica como una base de datos NoSQL porque no se basa en una estructura de base de datos tradicional basada en tablas. En cambio, utiliza documentos similares a JSON con esquemas dinámicos. A diferencia de las bases de datos relacionales, MongoDB no requiere un esquema predefinido antes de agregar datos a una base de datos. Tu puedes modificar el esquema en cualquier momento de ser necesario sin tener que configurar una nueva base de datos con un esquema actualizado.

Este tutorial lo guía a través de la instalación de MongoDB Community Edition en un servidor CentOS 7.

Pre-Requisitos

Antes de seguir este tutorial, asegúrese de tener un usuario normal, non-root con privilegios sudo. También puedes aprender más sobre cómo configurar un usuario con estos privilegios en nuestra guía “Cómo crear un usuario de sudo en CentOS”.

como instalar mongoDB en CentOS 7

Paso 1 – Agregar el repositorio MongoDB

El paquete mongodb-org no existe en el repositorio default para CentOS. Sin embargo, MongoDB se mantiene en un repositorio dedicado. Vamos a agregarlo a nuestro servidor.

Con el editor vi hay que crear un archivo .repo para yum, la utilidad de administración de paquetes para CentOS:

Despues, visita la sección en MongoDB sobre cómo Instalar en Red Hat y agrega la información del repositorio para la última versión estable al archivo:

Guarde y cierre el archivo.

Antes de seguir adelante, debemos verificar que el repositorio MongoDB existe dentro de la utilidad yum. El comando repolist muestra una lista de repositorios habilitados:

Con el MongoDB Repository listo, podemos proceder con la instalación.

Step 2 – Installing MongoDB

Podemos instalar el paquete de mongodb-org de el repositorio de terceros que usa la utilidad yum.

Hay dos avisos como Is this ok [y / N]:El primero permite la instalación de los paquetes MongoDB y en el segundo importa una key GPG. El editor de MongoDB firma su software y yum usa una key para confirmar la integridad de los paquetes descargados. En cada aviso, escribe Y y luego presione la tecla ENTER.

Lo siguiente es iniciar el servicio de MongoDB con la utilidad systemctl

Aunque no los utilizaremos en este tutorial, también puede cambiar el estado del servicio MongoDB con los comandos de reload y stop.

El comando reload manda llamar a mongod para que proceda a leer el archivo de configuración, /etc/mongod.conf y aplica cualquier cambio sin necesidad de reiniciar.

El comando stop para cualquier proceso de mongod

La utilidad systemctl no proporciona un resultado después de ejecutar el comando start, pero podemos revisar que el servicio está corriendo viendo al final del archivo mongod.log con el comando tail:

Una salida sobre waiting for connections confirma que MongoDB ha iniciado satisfactoriamente y que puedes acceder a la base de datos con MongoDB Shell:

Nota: Cuando lances el MongoDB Shell puede que veas una advertencia como esta:

** WARNING: soft rlimits too low. rlimits set to 4096 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.

MongoDB es una aplicación threaded. Puede ejecutar procesos adicionales para soportar la carga de trabajo. La advertencia indica que para que MongoDB sea más efectivo, la cantidad de procesos que está autorizada a girar debería de ser de la mitad de la cantidad de archivos que puede tener abiertos en ese momento. Para resolver esa advertencia, después de processes valor rlimit para mongod editando el 20-nproc.conf archivo:

Agrega las siguientes lineas al final del archivo:

Para el nuevo limite disponible a MongoDB, hay que reiniciarlo usando la utilidad systemctl:

Después de todo esto, cuanto te conectes a MongoDB Shell, la advertencia tendría que haber desaparecido.

Para aprender a interactuar con MondoDB desde el shell, puedes revisar la salidas de el método db.help() que proporciona una lista de métodos para el objeto db.

Deja corriendo el proceso de mongod en segundo plano, pero quita el shell con el comando exit:

Paso 3 – Verificación de Inicio

Debido a que una aplicación basada en una base de datos no puede funcionar sin una base de datos, nos aseguramos de que MongoDB daemon, mongod, va a iniciar con el sistema.

Usa la utilidad systemctl para checar el estatus de inicio:

Una salida de cero confirma un daemon habilitado, es lo que nosotros queremos. un color uno, de lo contrario, confirma un daemon deshabilitado que no ha iniciado.

Cuando pase un evento de un deamon deshabilitado, usa la utilidad systemctl para habilitarlo:

Ahora nosotros tenemos corriendo una instancia de MongoDB que automáticamente correrá después de reiniciar el sistema.

Paso 4 – Importando un conjunto de datos de ejemplo (opcional)

A diferencia de otros servidores de bases de datos, MongoDB no viene con datos en su base de datos test. Desde que nosotros no queremos experimentar con nuevo software usando datos de producción, vamos a descargar un ejemplo de dataset desde la sección de “Import Example Dataset” de la documentación “Getting Started with MondoDB”. El documento JSON contiene una colección de restauración, el cual nosotros usaremos para practicar cómo interactuar con MongoDB y evitar causar un daño sensible en nuestros datos.

Inicia por moverse dentro de un directorio editable:

Usa el comando curl y el link de MongoDB para descargar el archivo JSON:

El comando mongoimport insertará los datos dentro del dataset test. El flag --db define en donde se usará la base de datos mientras que la flag --collection específica en que parte de la base de datos la información se almacenará, y el flag --file le dice al comando cuál de los archivos realizará la acción de importar:

La salida confirma la importación de datos desde el archivo primer-dataset.json:

Con la base de datos de muestra puesta, nosotros podemos realizar una consulta en su contra.

Hay que relanzar MongoDB Shell:

El shell selecciona el dataset test por default, la cual es de donde nosotros importamos nuestros datos.

Consulta la colección de restaurants con el método find() para mostrar una lista de todas las restauraciones en el dataset. Ya que nuestra colección contiene alrededor de 25,000 entradas, usa el método óptimo limit() para reducir la consulta de salida y especificar un número. Adicional a esto el método pretty() hace la información más legible para humanos con nuevas líneas e identación.

Tu puedes seguir usando el dataset de muestra para familiarizarte con MongoDB o eliminiarlo con el metodo db.restaurants.drop():

Por último, para salir del shell utiliza el comando exit:

Conclusión

En este tutorial, cubrimos cómo agregar un repositorio de terceros a yum, instalando el database server de MongoDB, importando una muestra del dataset y realizando una consulta simple. Nosotros apenas y escarbamos la superficie de las capacidades de MongoDB. Tu puedes crear tu propia database con varias colecciones, llenarlas con muchos documentos y empezar a construir una aplicación robusta.