GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie MongoDB auf CentOS 8 / RHEL 8

MongoDB ist eine Open-Source-Datenbank, eine der beliebtesten dokumentenorientierten Datenbanken (NoSQL). In MongoDB werden Daten im Gegensatz zu Tabellen und Zeilen in einer relationalen Datenbank in JSON-ähnlichen Dokumenten mit dynamischen Schemas gespeichert.

MongoDB ist sowohl auf Skalierbarkeit als auch auf Entwickleragilität ausgelegt. Es ist für Windows, Linux, OS X, Solaris und FreeBSD verfügbar.

In diesem Beitrag werden wir sehen, wie MongoDB auf CentOS 8 / RHEL 8 installiert wird.

MongoDB-Editionen

MongoDB Inc veröffentlicht zwei Server-Editionen von MongoDB für seine Endbenutzer.

  1. MongoDB Enterprise-Server

  2. MongoDB-Community-Server

Hier sehen wir, wie die MongoDB Community Edition installiert wird. Der MongoDB-Community-Server wird unter Server Side Public License (SSPL) veröffentlicht.

MongoDB-Repository hinzufügen

MongoDB Inc bietet ein dediziertes Software-Repository zum Herunterladen und Installieren der MongoDB-Datenbank.

Fügen Sie das MongoDB-Repository auf Ihrem System hinzu.

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
 

Installieren Sie MongoDB

Nachdem Sie das MongoDB-Repository hinzugefügt haben, verwenden Sie den Befehl dnf, um MongoDB zu installieren.

dnf install -y mongodb-org
 
mongob-org (Meta-Paket, das die folgenden Komponenten installiert)
mongodb-org-server Serverpaket
mongodb-org-mongos Geteilter Daemon
mongodb-org-shell Befehlszeilenschnittstelle
mongodb-org-tools MongoDB-Tools (Importieren, Exportieren, Wiederherstellen, Dump und andere Tools)

SELinux

Um MongoDB mit aktiviertem SELinux (Erzwingungsmodus) auszuführen, befolgen Sie die Anweisungen zum Anpassen der SELinux-Richtlinie für MongoDB. Überspringen Sie die folgenden Schritte, falls Sie SELinux auf Ihrem System deaktiviert haben.

Installieren Sie das Paket checkpolicy mit dem Befehl dnf.

dnf install -y checkpolicy
 

Erstellen Sie eine SELinux-Richtliniendatei, um dem MongoDB-Prozess den Zugriff auf die cgroup zu ermöglichen, um den verfügbaren Speicher auf Ihrem System zu ermitteln.

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
 

Kompilieren und laden Sie unser benutzerdefiniertes SELinux-Richtlinienmodul mit den folgenden Befehlen.

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
 

Schritte nach der Installation

Ulimit-Einstellungen

Standardmäßig haben die meisten Systeme ein Limit für die Anzahl der Prozesse, geöffneten Dateien, Speicher usw., die ein bestimmter Benutzer (Anwendungs-Fid) haben kann, und diese Limits können Probleme im MongoDB-Betrieb verursachen.

MongoDB bietet jetzt empfohlene Grenzwerteinstellungen in der systemd-Einheitendatei. Wir müssen die Limits also nicht manuell festlegen.

Zugriffskontrolle aktivieren

Wenn Sie relationale Datenbanken wie MySQL oder PostgreSQL usw. nehmen, ist zumindest ein gewisses Maß an Authentifizierung enthalten, für das sich Benutzer selbst authentifizieren müssen, um Datenbankaktivitäten durchzuführen.

Bei MongoDB ist dies jedoch nicht der Fall. Alle Benutzer können auf jede Datenbank zugreifen und alle Operationen ohne Authentifizierung durchführen.

Um dieses Problem zu beheben, erstellen Sie zunächst einen Admin-Benutzer für den täglichen Betrieb.

Dann müssen wir die Zugriffskontrolle aktivieren, indem wir die Konfigurationsdatei von MongoDB bearbeiten.

vi /etc/mongod.conf
 

Fügen Sie die folgenden Zeilen hinzu.

security:
  authorization: enabled
 

Huge Pages deaktivieren

Transparente riesige Seiten führen häufig zu Leistungsproblemen für Datenbank-Workloads. Daher empfiehlt MongoDB, die riesigen Seiten zu deaktivieren, um die beste Leistung zu erzielen.

Erstellen Sie ein Verzeichnis und platzieren Sie eine optimierte Profildatei, um riesige Seiten zu deaktivieren.

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

Erstellen Sie eine Datei.

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

Fügen Sie die folgenden Zeilen in die able-Datei ein.

[main]
include=virtual-guest

[vm]
transparent_hugepages=never
 

Aktivieren Sie unser neu erstelltes Profil.

tuned-adm profile virtual-guest-no-thp
 

MongoDB-Dienst starten

Um den MongoDB-Dienst zu starten, führen Sie Folgendes aus:

systemctl start mongod
 

Um den Status des MongoDB-Dienstes zu überprüfen, führen Sie Folgendes aus:

systemctl status mongod
 
Ausgabe:● mongod.service – MongoDB-Datenbankserver geladen:geladen (/usr/lib/systemd/system/mongod.service; aktiviert; Herstellervoreinstellung:deaktiviert) Aktiv:aktiv (läuft) seit Mo 10.08.2020 13:10:15 EDT; Vor 11 Sekunden Dokumente:https://docs.mongodb.org/manual Prozess:3147 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS) Prozess:3145 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (Code=beendet, Status=0/SUCCESS) Prozess:3143 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (Code=beendet, Status=0/SU> Prozess :3141 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS) Haupt-PID:3149 (mongod) Speicher:61,1 MB CGroup:/system.slice/mongod.service └─3149 /usr/bin/mongod -f /etc/mongod.confAug 10 13:10:14 centos8.itzgeek.local systemd[1]:MongoDB Database Server wird gestartet...Aug 10 13:10:14 centos8.itzgeek .local mongod[3147]:im Begriff, untergeordneten Prozess zu verzweigen, warten bis dienen> 10. August 13:10:14 centos8.itzgeek.local mongod[3147]:verzweigter Prozess:3149 10. August 13:10:15 centos8.itzgeek.local mongod [3147]:untergeordneter Prozess erfolgreich gestartet, übergeordneter Exiti>Aug 10 13:10:15 centos8.itzgeek.local systemd[1]:Started MongoDB Database Server.

Überprüfen Sie die MongoDB-Version.

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

Verwenden Sie den Befehl netstat, um zu überprüfen, ob die MongoDB auf Port 27017 lauscht.

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

LESEN: netstat-Befehl unter CentOS 7 / RHEL 7 nicht gefunden – Quick Fix

Zugriff auf MongoDB

Stellen Sie eine Verbindung zur MongoDB-Shell her, indem Sie den folgenden Befehl eingeben.

mongo
 
Ausgabe:MongoDB Shell Version v4.4.0connecting to:mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodbImplicit session:session { "id" :UUID("3ecdceaa-5050-41a3-96e3-8f821362523b ") }MongoDB-Serverversion:4.4.0Willkommen bei der MongoDB-Shell.Für interaktive Hilfe geben Sie „help“ ein.Umfassendere Dokumentation finden Sie unter https://docs.mongodb.com/Questions? Probieren Sie die MongoDB Developer Community-Foren https://community.mongodb.com>
aus

Schlussfolgerung

Das ist alles. Ich hoffe, Sie haben inzwischen MongoDB auf Ihrem CentOS 8 / RHEL 8-System. Bitte teilen Sie uns Ihr Feedback im Kommentarbereich mit.


Cent OS
  1. So installieren Sie MongoDB unter CentOS 8

  2. So installieren Sie phpMyAdmin auf RHEL 8 / CentOS 8

  3. So installieren Sie P7Zip auf RHEL 8 / CentOS 8

  4. So installieren Sie MongoDB 4.2/4.0 unter CentOS 6/RHEL 6

  5. So installieren Sie MongoDB 4.4/4.2 unter CentOS 7/RHEL 7

So installieren Sie Maven auf RHEL 8 / CentOS 8

So installieren Sie cpan auf RHEL 8 / CentOS 8

So installieren Sie MongoDB unter CentOS 8

So installieren Sie MongoDB in RHEL, CentOS, Rocky und AlmaLinux

So installieren Sie MongoDB unter CentOS 6

Wie installiere ich Mongodb in CentOS?