GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare mongodb su RHEL 8 / CentOS 8

MongoDB è un database di documenti, che memorizza i dati in forma simile a JSON, che è un approccio rivoluzionario in contrasto con i database relazionali tradizionali. Ciò non significa che i database SQL si estingueranno presto; saranno qui per molto tempo quando avrai bisogno di memorizzare dati strutturati.

Detto questo, MongoDB ottiene sempre più casi d'uso; la capacità di archiviare i dati in una forma che può cambiare al volo sono cose con cui bisogna tenere conto.

In questo tutorial installeremo l'ultima versione della community di questo database NoSQL su un RHEL 8 / CentOS 8, utilizzando il pacchetto tarball. Affinché ciò funzioni senza problemi, imposteremo l'ambiente minimo e testeremo la nostra configurazione e il servizio in esecuzione.

In questo tutorial imparerai:

  • Come scaricare ed estrarre il tarball di MongoDB
  • Come configurare l'ambiente per il servizio
  • Come gestire il servizio mongod
  • Come accedere a mongo shell, inserire e interrogare dati di esempio

Esempio di query in mongodb.

Requisiti e convenzioni software utilizzati

Requisiti software e convenzioni della riga di comando Linux
Categoria Requisiti, convenzioni o versione del software utilizzata
Sistema RHEL 8 / CentOS 8
Software MongoDB 4
Altro Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando.
Convenzioni # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando
$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato

Come installare mongodb su RHEL 8 / CentOS 8 istruzioni passo passo

Abbiamo bisogno di raccogliere un URL prima dell'installazione. Per questo, dobbiamo visitare il sito della community MongoDB Download Center, selezionare il sistema operativo e la versione (Linux 64bit legacy in questo caso, abbiamo bisogno del tarball). Sebbene ci venga fornito un pulsante di download, otteniamo anche un URL diretto di seguito, che possiamo utilizzare direttamente dalla macchina di destinazione.

Questo ci evita di scaricare il pacchetto tramite il browser e quindi di trasferirlo sulla macchina di destinazione, a condizione che disponiamo dell'accesso a Internet dalla destinazione. Quindi prendi nota dell'URL, lo useremo a breve.

  1. Memorizzeremo i binari in /opt . Sulla macchina di destinazione, entriamo nella directory:
    # cd /opt

    E scarica il tarball fornendo l'URL acquisito in precedenza 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. Estraiamo il tarball:
    # tar -zxvf mongodb-linux-x86_64-4.0.5.tgz

    E crea un collegamento simbolico più facile da ricordare chiamato mongodb che punta alla directory estratta (il numero di versione potrebbe essere diverso):

    # ln -s mongodb-linux-x86_64-4.0.5 mongodb
  3. Creiamo l'utente che eseguirà il servizio chiamato mongod :
    # useradd mongod
  4. Creiamo la directory in cui mongodb memorizzerà i suoi dati:
    # mkdir -p /var/lib/mongo
  5. Impostiamo il mongod user come proprietario sia dei binari che della directory dei dati:
    # chown -R mongod:mongod /opt/mongodb*
    # chown -R mongod: /var/lib/mongo
  6. Creiamo un file di configurazione di base per mongodb. Specifichiamo la directory dei dati creata e impostiamo il database in ascolto solo su localhost, sulla porta predefinita 27017 . Creiamo il file di testo /etc/mongod.conf con il seguente contenuto:
    storage:
      dbPath: "/var/lib/mongo"
      journal:
        enabled: true
    
    net:
      port: 27017
      bindIp: "127.0.0.1"

    Notare il dbPath parametro, che abbiamo impostato sulla directory che abbiamo creato per l'archiviazione dei dati in un passaggio precedente.

  7. Per systemd per poter gestire il servizio, creiamo il file di testo /etc/systemd/system/mongod.service con configurazione minima:
    [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

    Nota che abbiamo usato il mongod utente e gruppo, ha utilizzato il nostro percorso personalizzato per mongod binario e includeva il file di configurazione che abbiamo creato a mano.

  8. Impostiamo selinux per ora permissiva, in quanto bloccherebbe l'accesso alle risorse del servizio. Impostazione di selinux policy non rientra nell'ambito di questo tutorial.
    # setenforce 0
  9. Chiederemo systemd per ricaricare:
    systemctl daemon-reload
  10. E controlla se il servizio è riconosciuto:
    # systemctl status mongod
      mongod.service - MongoDB
       Loaded: loaded (/etc/systemd/system/mongod.service; disabled; vendor preset: disabled)
       Active: inactive (dead)
  11. Siamo pronti per avviare il servizio:
    # systemctl start mongod
  12. E controlla il suo stato. Se tutto va bene, dovremmo vedere qualcosa di simile al seguente:
    # 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. Possiamo testare il nostro servizio con mongo shell , un'interfaccia a riga di comando fornita con MongoDB. Per potervi accedere, dobbiamo includere i binari che abbiamo estratto nel $PATH . Come amministratori pigri, lo facciamo solo una volta, in modo permanente. Aggiungiamo la seguente riga a /root/.bash_profile , prima l'ultima riga "export PATH":
    ## mongodb
    PATH=$PATH:/opt/mongodb/bin

    Ed esegui lo script:

    # . ~/.bash_profile
  14. Iniziamo la 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".
    [...]
    >

    Potrebbero essere presenti alcuni avvisi di avvio, come impostazioni di pagine enormi, ma li ignoreremo in questo tutorial.

  15. Sulla mongo shell , chiederemo eventuali database presenti:
    > db
    test
  16. E passa al test spedito database:
    > use test
    switched to db test
  17. Inseriamo alcuni dati di test (chiave "x" con valore "1") in una raccolta creata al volo:
    > db.exampleCollection.insertOne( { x: 1 } );
    {
            "acknowledged" : true,
            "insertedId" : ObjectId("5c2e33040854f2d89326ae9c")
    }
    >
  18. E infine interroghiamo tutti i dati nella nuova raccolta, verificando che la nostra coppia chiave-valore sia stata archiviata correttamente:
    > db.getCollection("exampleCollection").find().pretty();
    { "_id" : ObjectId("5c2e4c2fd129ceef6a6c6112"), "x" : 1 }
    >

Cent OS
  1. Come installare MongoDB su CentOS 8

  2. Come installare phpMyAdmin su RHEL 8 / CentOS 8

  3. Come installare MongoDB su CentOS 8 / RHEL 8

  4. Come installare MongoDB 4.2 / 4.0 su CentOS 6 / RHEL 6

  5. Come installare MongoDB 4.4/4.2 su CentOS 7/RHEL 7

Come installare Maven su RHEL 8 / CentOS 8

Come installare cpan su RHEL 8 / CentOS 8

Come installare MongoDB su CentOS 8

Come installare MongoDB in RHEL, CentOS, Rocky e AlmaLinux

Come installare MongoDB su CentOS 6

Come installare Mongodb in CentOS?