GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat MongoDB na CentOS 8 / RHEL 8

MongoDB je open-source, jedna z nejpopulárnějších databází orientovaných na dokumenty (NoSQL). V MongoDB jsou data uložena v dokumentech typu JSON s dynamickými schématy na rozdíl od tabulek a řádků v relační databázi.

MongoDB je navržen s ohledem jak na škálovatelnost, tak na agilitu vývojáře. Je k dispozici pro Windows, Linux, OS X, Solaris a FreeBSD.

V tomto příspěvku uvidíme, jak nainstalovat MongoDB na CentOS 8 / RHEL 8.

Vydání MongoDB

MongoDB Inc vydává dvě serverové edice MongoDB pro své koncové uživatele.

  1. MongoDB Enterprise Server

  2. Komunitní server MongoDB

Zde uvidíme, jak nainstalovat komunitní vydání MongoDB. Komunitní server MongoDB je vydán pod licencí Server Side Public License (SSPL).

Přidat úložiště MongoDB

MongoDB Inc poskytuje vyhrazené softwarové úložiště pro stahování a instalaci databáze MongoDB.

Přidejte úložiště MongoDB do svého systému.

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
 

Instalovat MongoDB

Jakmile přidáte úložiště MongoDB, použijte k instalaci MongoDB příkaz dnf.

dnf install -y mongodb-org
 
mongob-org (balíček metadat, který instaluje níže uvedené komponenty)
mongodb-org-server Serverový balíček
mongodb-org-mongos Sdílený démon
mongodb-org-shell Rozhraní příkazového řádku
mongodb-org-tools Nástroje MongoDB (Import, Export, Restore, Dump a další nástroje)

SELinux

Chcete-li spustit MongoDB s povoleným SELinux (režim vynucení), postupujte podle pokynů pro přizpůsobení zásad SELinux pro MongoDB. Přeskočte níže uvedené kroky, pokud jste na svém systému zakázali SELinux.

Nainstalujte balíček checkpolicy pomocí příkazu dnf.

dnf install -y checkpolicy
 

Vytvořte soubor zásad SELinux, který umožní procesu MongoDB přistupovat k cgroup za účelem zjištění dostupné paměti ve vašem systému.

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
 

Zkompilujte a načtěte náš vlastní modul zásad SELinux pomocí níže uvedených příkazů.

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
 

Postup po instalaci

Nastavení Ulimit

Ve výchozím nastavení má většina systémů nastaven limit pro počet procesů, otevřených souborů, paměti atd., které může mít konkrétní uživatel (aplikace fid), a tyto limity mohou způsobovat problémy v provozu MongoDB.

MongoDB nyní poskytuje doporučená nastavení limitů v souboru systemd unit. Takže limity nemusíme nastavovat ručně.

Povolit řízení přístupu

Pokud si vezmete relační databáze jako MySQL nebo PostgreSQL atd., přichází s alespoň určitou úrovní autentizace, pro kterou se uživatelé potřebují autentizovat, aby mohli provádět databázové aktivity.

Ale v případě MongoDB tomu tak není. Všichni uživatelé mohou přistupovat k jakékoli databázi a provádět jakékoli operace bez ověření.

Chcete-li tento problém vyřešit, nejprve vytvořte administrátora pro každodenní provoz.

Poté musíme povolit řízení přístupu úpravou konfiguračního souboru MongoDB.

vi /etc/mongod.conf
 

Přidejte níže uvedené řádky.

security:
  authorization: enabled
 

Zakázat velké stránky

Transparentní velké stránky často způsobují problémy s výkonem databázových úloh. MongoDB tedy doporučuje deaktivovat velké stránky pro nejlepší výkon.

Vytvořte adresář a umístěte soubor vyladěného profilu, abyste zakázali velké stránky.

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

Vytvořte soubor.

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

Umístěte níže uvedené řádky do schopného souboru.

[main]
include=virtual-guest

[vm]
transparent_hugepages=never
 

Povolte náš nově vytvořený profil.

tuned-adm profile virtual-guest-no-thp
 

Spusťte službu MongoDB

Chcete-li spustit službu MongoDB, spusťte:

systemctl start mongod
 

Chcete-li zkontrolovat stav služby MongoDB, spusťte:

systemctl status mongod
 
Výstup:● mongod.service – databázový server MongoDB Načten:načten (/usr/lib/systemd/system/mongod.service; povoleno; přednastaveno dodavatelem:zakázáno) Aktivní:aktivní (běží) od Po 2020-08-10 13:10:15 EDT; Před 11 s Dokumenty:https://docs.mongodb.org/manual Proces:3147 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS) Proces:3145 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (kód=ukončeno, stav=0/ÚSPĚCH) Proces:3143 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (kód=ukončeno, stav=0/SU> Proces :3141 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (kód=ukončeno, stav=0/ÚSPĚCH) Hlavní PID:3149 (mongod) Paměť:61,1M CGroup:/system.slice/mongod.service └─3149 /usr/bin/mongod -f /etc/mongod.confSrpen 10 13:10:14 centos8.itzgeek.local systemd[1]:Spouštění databázového serveru MongoDB...10. srpna 13:10:14 centos8.itzgeek .local mongod[3147]:chystá se rozdělit podřízený proces, čeká se na podání> 10. srpna 13:10:14 centos8.itzgeek.local mongod[3147]:rozvětvený proces:3149 10. srpna 13:10:15 centos8.itzdgeek.local mongod [3147]:podřízený proces byl úspěšně zahájen, nadřazený exiti>10. srpna 13:10:15 centos8.itzgeek.local systemd[1]:Spuštěn databázový server MongoDB.

Zkontrolujte verzi MongoDB.

mongod --version
 
Output:db verze v4.4.0 Informace o sestavení:{ "version":"4.4.0", "gitVersion":"563487e100c4215e2dce98d0af2a6a5a2d67c5cf", "openSSLVersion":"OpenSLVersion":"OpenSLVersion":"OpenSLVersion":"OpenSLVersion":"OpenSLVersion":"OpenSLVersion":"OpenSLVersion":"OpenSLVersion":"4.4.0", "gitVersion" :[], "allocator":"tcmalloc", "environment":{ "distmod":"rhel80", "distarch":"x86_64", "target_arch":"x86_64" }}

Pomocí příkazu netstat zkontrolujte, zda MongoDB naslouchá na portu 27017.

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

ČTĚTE: Příkaz netstat nebyl nalezen na CentOS 7 / RHEL 7 – Quick Fix

Přístup k MongoDB

Připojte se k prostředí MongoDB zadáním následujícího příkazu.

mongo
 
Výstup:MongoDB shell verze v4.4.0 připojující se k:mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodbImplicitní relace:session { "id" :UUID("3ecdceaa-5050-4283b3-962523b3-962523b3-96 ") }Verze serveru MongoDB:4.4.0Vítejte v prostředí MongoDB. Chcete-li získat interaktivní nápovědu, zadejte „help“. Podrobnější dokumentaci naleznete na adrese https://docs.mongodb.com/Questions? Vyzkoušejte MongoDB Developer Community Forums https://community.mongodb.com>

Závěr

To je vše. Doufám, že již máte MongoDB na svém systému CentOS 8 / RHEL 8. Podělte se o svůj názor v sekci komentářů.


Cent OS
  1. Jak nainstalovat MongoDB na CentOS 8

  2. Jak nainstalovat MongoDB 4.2 / 4.0 na CentOS 6 / RHEL 6

  3. Jak nainstalovat MongoDB 4.4 / 4.2 na CentOS 7 / RHEL 7

  1. Jak nainstalovat phpMyAdmin na RHEL 8 / CentOS 8

  2. Jak nainstalovat P7Zip na RHEL 8 / CentOS 8

  3. Jak nainstalovat ntfs-3g na RHEL 8 / CentOS 8

  1. Jak nainstalovat PHP-mbstring na RHEL 8 / CentOS 8

  2. Jak nainstalovat phantomjs na RHEL 8 / CentOS 8

  3. Jak nainstalovat Dropbox na RHEL 8 / CentOS 8