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

Cómo instalar mongodb en RHEL 8 / CentOS 8

MongoDB es una base de datos de documentos, que almacena datos en forma similar a JSON, que es un enfoque revolucionario en contraste con las bases de datos relacionales tradicionales. Esto no significa que las bases de datos SQL desaparecerán pronto; estarán aquí durante mucho tiempo cuando necesite almacenar datos estructurados.

Dicho esto, MongoDB obtiene cada vez más casos de uso; la capacidad de almacenar datos en un formato que puede cambiar sobre la marcha son cosas con las que se debe contar.

En este tutorial, instalaremos la versión comunitaria más reciente de esta base de datos NoSQL en RHEL 8/CentOS 8, utilizando el paquete tarball. Para que esto funcione sin problemas, configuraremos el entorno mínimo y probaremos nuestra configuración y el servicio en ejecución.

En este tutorial aprenderás:

  • Cómo descargar y extraer tarball de MongoDB
  • Cómo configurar el entorno para el servicio
  • Cómo administrar el servicio mongod
  • Cómo iniciar sesión en Mongo Shell, insertar y consultar datos de muestra

Ejemplo de consulta en mongodb.

Requisitos de software y convenciones utilizadas

Cómo instalar mongodb en RHEL 8 / CentOS 8 instrucciones paso a paso

Necesitamos recopilar una URL antes de la instalación. Para esto, debemos visitar el sitio de la comunidad del Centro de descargas de MongoDB, seleccionar el sistema operativo y la versión (Linux 64bit heredado en este caso, necesitamos el tarball). Si bien se nos proporciona un botón de descarga, también obtenemos una URL directa a continuación, que podemos usar directamente desde la máquina de destino.

Esto nos evita descargar el paquete a través del navegador y luego transferirlo a la máquina de destino, siempre que tengamos acceso a Internet desde el destino. Así que toma nota de la URL, la usaremos en breve.

  1. Almacenaremos los archivos binarios en /opt . En la máquina de destino, ingresamos al directorio:
    # cd /opt

    Y descargue el tarball proporcionando la URL adquirida anteriormente a wget :

    # wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.5.tgz
    --2019-01-03 16:49:59--  https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.5.tgz
    Resolving fastdl.mongodb.org (fastdl.mongodb.org)... 52.222.150.27, 52.222.150.229, 52.222.150.45, ...
    Connecting to fastdl.mongodb.org (fastdl.mongodb.org)|52.222.150.27|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 73214518 (70M) [application/x-gzip]
    Saving to: 'mongodb-linux-x86_64-4.0.5.tgz'
    
    mongodb-linux-x86_64-4.0.5.tgz                     100%[================================================================================================================>]  69.82M  3.12MB/s    in 23s     
    
    2019-01-03 16:50:22 (3.06 MB/s) - 'mongodb-linux-x86_64-4.0.5.tgz' saved [73214518/73214518]
  2. Extraemos el tarball:
    # tar -zxvf mongodb-linux-x86_64-4.0.5.tgz

    Y cree un enlace simbólico más fácil de recordar llamado mongodb que apunta al directorio extraído (el número de versión puede diferir):

    # ln -s mongodb-linux-x86_64-4.0.5 mongodb
  3. Creamos el usuario que ejecutará el servicio llamado mongod :
    # useradd mongod
  4. Creamos el directorio donde mongodb almacenará sus datos:
    # mkdir -p /var/lib/mongo
  5. Configuramos el mongod usuario como propietario de los archivos binarios y del directorio de datos:
    # chown -R mongod:mongod /opt/mongodb*
    # chown -R mongod: /var/lib/mongo
  6. Creamos un archivo de configuración básico para mongodb. Especificamos el directorio de datos creado y configuramos la base de datos para escuchar solo en localhost, en el puerto predeterminado 27017 . Creamos el archivo de texto /etc/mongod.conf con el siguiente contenido:
    storage:
      dbPath: "/var/lib/mongo"
      journal:
        enabled: true
    
    net:
      port: 27017
      bindIp: "127.0.0.1"

    Observe el dbPath parámetro, que configuramos en el directorio que creamos para el almacenamiento de datos en un paso anterior.

  7. Para systemd para poder administrar el servicio creamos el archivo de texto /etc/systemd/system/mongod.service con configuración mínima:
    [Unit]
    Description=MongoDB
    After=syslog.target network.target
    
    [Service]
    Type=simple
    
    User=mongod
    Group=mongod
    
    ExecStart=/opt/mongodb/bin/mongod --config /etc/mongod.conf
    
    [Install]
    WantedBy=multi-user.target

    Tenga en cuenta que usamos el mongod usuario y grupo, usó nuestra ruta personalizada para el mongod binario e incluía el archivo de configuración que creamos a mano.

  8. Configuramos selinux a permisivo por ahora, ya que bloquearía el acceso a los recursos del servicio. Configuración de selinux políticas está fuera del alcance de este tutorial.
    # setenforce 0
  9. Le preguntaremos a systemd para recargar:
    systemctl daemon-reload
  10. Y compruebe si se reconoce el servicio:
    # systemctl status mongod
      mongod.service - MongoDB
       Loaded: loaded (/etc/systemd/system/mongod.service; disabled; vendor preset: disabled)
       Active: inactive (dead)
  11. Estamos listos para iniciar el servicio:
    # systemctl start mongod
  12. Y comprueba su estado. Si todo va bien, deberíamos ver algo como lo siguiente:
    # systemctl status mongod
      mongod.service - MongoDB
       Loaded: loaded (/etc/systemd/system/mongod.service; disabled; vendor preset: disabled)
       Active: active (running) since Thu 2019-01-03 17:01:48 CET; 4s ago
     Main PID: 2993 (mongod)
        Tasks: 23 (limit: 12544)
       Memory: 45.3M
       CGroup: /system.slice/mongod.service
                 2993 /opt/mongodb/bin/mongod --config /etc/mongod.conf
  13. Podemos probar nuestro servicio con mongo shell , una interfaz de línea de comandos incluida con MongoDB. Para poder acceder a él, debemos incluir los binarios que extrajimos en el $PATH . Como administradores perezosos, solo hacemos esto una vez, de forma permanente. Agregamos la siguiente línea a /root/.bash_profile , antes la última línea "exportar PATH":
    ## mongodb
    PATH=$PATH:/opt/mongodb/bin

    Y ejecute el script:

    # . ~/.bash_profile
  14. Iniciamos el mongo shell :
    # mongo
    MongoDB shell version v4.0.5
    connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
    Implicit session: session { "id" : UUID("8999342b-e313-48e6-92c4-bf6b07cee0e4") }
    MongoDB server version: 4.0.5
    Welcome to the MongoDB shell.
    For interactive help, type "help".
    [...]
    >

    Puede haber algunas advertencias de inicio, como la configuración de páginas grandes, pero las ignoraremos en este tutorial.

  15. En el mongo shell , le preguntaremos por cualquier base de datos presente:
    > db
    test
  16. Y cambie a la test enviada base de datos:
    > use test
    switched to db test
  17. Insertamos algunos datos de prueba (clave “x” con el valor de “1”) en una colección creada sobre la marcha:
    > db.exampleCollection.insertOne( { x: 1 } );
    {
            "acknowledged" : true,
            "insertedId" : ObjectId("5c2e33040854f2d89326ae9c")
    }
    >
  18. Y finalmente consultamos cualquier dato en la nueva colección, verificando que nuestro par clave-valor se almacene correctamente:
    > db.getCollection("exampleCollection").find().pretty();
    { "_id" : ObjectId("5c2e4c2fd129ceef6a6c6112"), "x" : 1 }
    >

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

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

  3. Cómo instalar MongoDB en CentOS 8 / RHEL 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?

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema RHEL 8 / CentOS 8
    Software MongoDB 4
    Otro Acceso privilegiado a su sistema Linux como root o a través de sudo comando.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios