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

Come installare MongoDB su CentOS 8 / RHEL 8

MongoDB è un open-source, uno dei database orientati ai documenti più popolari (NoSQL). In MongoDB, i dati vengono archiviati in documenti simili a JSON con schemi dinamici a differenza di tabelle e righe in un database relazionale.

MongoDB è progettato pensando sia alla scalabilità che all'agilità degli sviluppatori. È disponibile per Windows, Linux, OS X, Solaris e FreeBSD.

In questo post vedremo come installare MongoDB su CentOS 8 / RHEL 8.

Edizioni MongoDB

MongoDB Inc rilascia due edizioni server di MongoDB per i suoi utenti finali.

  1. Server aziendale MongoDB

  2. Server della comunità MongoDB

Qui vedremo come installare l'edizione della community MongoDB. Il server della comunità MongoDB è rilasciato sotto Server Side Public License (SSPL).

Aggiungi repository MongoDB

MongoDB Inc fornisce un repository software dedicato per scaricare e installare il database MongoDB.

Aggiungi il repository MongoDB sul tuo sistema.

MongoDB 4.4

cat << EOF > /etc/yum.repos.d/mongodb.repo
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOF
 

MongoDB 4.2

cat << EOF > /etc/yum.repos.d/mongodb.repo
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
EOF
 

Installa MongoDB

Dopo aver aggiunto il repository MongoDB, utilizzare il comando dnf per installare MongoDB.

dnf install -y mongodb-org
 
mongob-org (meta pacchetto che viene installato sotto i componenti)
server-mongodb-org Pacchetto server
mongodb-org-mongos Demone condiviso
mongodb-org-shell Interfaccia della riga di comando
mongodb-org-tools Strumenti MongoDB (importazione, esportazione, ripristino, dump e altri strumenti)

SELinux

Per eseguire MongoDB con SELinux abilitato (modalità di applicazione), seguire le istruzioni per personalizzare la politica SELinux per MongoDB. Salta i passaggi seguenti, nel caso in cui tu abbia disabilitato SELinux sul tuo sistema.

Installa il pacchetto checkpolicy con il comando dnf.

dnf install -y checkpolicy
 

Crea un file di criteri SELinux per consentire al processo MongoDB di accedere al cgroup per determinare la memoria disponibile sul tuo sistema.

cat > mongodb_cgroup_memory.te <<EOF
module mongodb_cgroup_memory 1.0;

require {
    type cgroup_t;
    type mongod_t;
    class dir search;
    class file { getattr open read };
}

#============= mongod_t ==============
allow mongod_t cgroup_t:dir search;
allow mongod_t cgroup_t:file { getattr open read };
EOF
 

Compila e carica il nostro modulo di policy SELinux personalizzato usando i comandi seguenti.

checkmodule -M -m -o mongodb_cgroup_memory.mod mongodb_cgroup_memory.te

semodule_package -o mongodb_cgroup_memory.pp -m mongodb_cgroup_memory.mod

semodule -i mongodb_cgroup_memory.pp
 

Passaggi successivi all'installazione

Impostazioni Ulimit

Per impostazione predefinita, la maggior parte dei sistemi ha un limite impostato per il numero di processi, file aperti, memoria, ecc. che un particolare utente (fid dell'applicazione) può avere e questi limiti possono causare problemi nel funzionamento di MongoDB.

MongoDB ora fornisce le impostazioni dei limiti consigliate nel file dell'unità systemd. Quindi, non è necessario impostare i limiti manualmente.

Abilita controllo accessi

Se prendi database relazionali come MySQL o PostgreSQL, ecc. viene fornito almeno un livello di autenticazione per il quale gli utenti devono autenticarsi per eseguire attività di database.

Ma, nel caso di MongoDB, non è così. Tutti gli utenti possono accedere a qualsiasi database ed eseguire qualsiasi operazione senza autenticazione.

Per risolvere questo problema, crea prima un utente amministratore per le operazioni quotidiane.

Quindi, dobbiamo abilitare il controllo dell'accesso modificando il file di configurazione di MongoDB.

vi /etc/mongod.conf
 

Aggiungi le righe sottostanti.

security:
  authorization: enabled
 

Disabilita pagine enormi

Le pagine enormi trasparenti spesso creano problemi di prestazioni per i carichi di lavoro del database. Quindi, MongoDB consiglia di disabilitare le pagine enormi per ottenere le migliori prestazioni.

Crea una directory, posiziona un file di profilo ottimizzato per disabilitare le pagine enormi.

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

Crea un file.

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

Inserisci le righe sottostanti nel file in grado.

[main]
include=virtual-guest

[vm]
transparent_hugepages=never
 

Abilita il nostro profilo appena creato.

tuned-adm profile virtual-guest-no-thp
 

Avvia il servizio MongoDB

Per avviare il servizio MongoDB, esegui:

systemctl start mongod
 

Per controllare lo stato del servizio MongoDB, esegui:

systemctl status mongod
 
Output:● mongod.service - Server database MongoDB Caricato:caricato (/usr/lib/systemd/system/mongod.service; abilitato; preimpostazione del fornitore:disabilitato) Attivo:attivo (in esecuzione) da lunedì 10-08-2020 13:10:15 EDT; 11 s fa Documenti:https://docs.mongodb.org/manual Processo:3147 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS) Processo:3145 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS) Processo:3143 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SU> Process :3141 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS) PID principale:3149 (mongod) Memoria:61.1M CGroup:/system.slice/mongod.service └─3149 /usr/bin/mongod -f /etc/mongod.confAug 10 13:10:14 centos8.itzgeek.local systemd[1]:Avvio di MongoDB Database Server...Aug 10 13:10:14 centos8.itzgeek .local mongod[3147]:in procinto di eseguire il fork del processo figlio, in attesa di servire>Aug 10 13:10:14 centos8.itzgeek.local mongod[3147]:forked process:3149Aug 10 13:10:15 centos8.itzgeek.local mongod [3147]:processo figlio avviato correttamente, parent exiti>Aug 10 13:10:15 centos8.itzgeek.local systemd[1]:avviato MongoDB Database Server.

Controlla la versione di MongoDB.

mongod --version
 
Output:db versione v4.4.0Info build:{ "version":"4.4.0", "gitVersion":"563487e100c4215e2dce98d0af2a6a5a2d67c5cf", "openSSLVersion":"OpenSSL 1.1.1c FIPS 28 maggio 2019", "modules" :[], "allocator":"tcmalloc", "environment":{ "distmod":"rhel80", "distarch":"x86_64", "target_arch":"x86_64" }}

Usa il comando netstat per verificare se MongoDB è in ascolto sulla porta 27017.

netstat -antup | grep -i 27017
 
Uscita:tcp 0 0 127.0.0.1:27017 0.0.0.0:* ASCOLTA 6898/mongod

LEGGI: comando netstat non trovato su CentOS 7 / RHEL 7 – Quick Fix

Accedi a MongoDB

Connettiti alla shell MongoDB immettendo il seguente comando.

mongo
 
Output:versione della shell MongoDB v4.4.0connessione a:mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodbSessione implicita:sessione { "id" :UUID("3ecdceaa-5050-41a3-96e3-8f821362523b ") }Versione del server MongoDB:4.4.0Benvenuto nella shell MongoDB.Per la guida interattiva, digitare "help".Per una documentazione più completa, vedere https://docs.mongodb.com/Questions? Prova i forum della community di sviluppatori MongoDB https://community.mongodb.com>

Conclusione

È tutto. Spero che ormai tu abbia MongoDB sul tuo sistema CentOS 8 / RHEL 8. Condividi il tuo feedback nella sezione commenti.


Cent OS
  1. Come installare MongoDB su CentOS 8

  2. Come installare phpMyAdmin su RHEL 8 / CentOS 8

  3. Come installare P7Zip su RHEL 8 / CentOS 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?