GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer MongoDB sur CentOS 8 / RHEL 8

MongoDB est une source ouverte, l'une des bases de données orientées document les plus populaires (NoSQL). Dans MongoDB, les données sont stockées dans des documents de type JSON avec des schémas dynamiques, contrairement aux tables et aux lignes d'une base de données relationnelle.

MongoDB est conçu avec à la fois l'évolutivité et l'agilité des développeurs à l'esprit. Il est disponible pour Windows, Linux, OS X, Solaris et FreeBSD.

Dans cet article, nous verrons comment installer MongoDB sur CentOS 8 / RHEL 8.

Éditions MongoDB

MongoDB Inc publie deux éditions serveur de MongoDB pour ses utilisateurs finaux.

  1. Serveur d'entreprise MongoDB

  2. Serveur communautaire MongoDB

Ici, nous verrons comment installer l'édition communautaire de MongoDB. Le serveur communautaire MongoDB est publié sous licence publique côté serveur (SSPL).

Ajouter un référentiel MongoDB

MongoDB Inc fournit un référentiel de logiciels dédié pour télécharger et installer la base de données MongoDB.

Ajoutez le référentiel MongoDB sur votre système.

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
 

Installer MongoDB

Une fois que vous avez ajouté le référentiel MongoDB, utilisez la commande dnf pour installer MongoDB.

dnf install -y mongodb-org
 
mongob-org (Meta Package qui installe les composants ci-dessous)
mongodb-org-server Package serveur
mongodb-org-mongos Démon partagé
mongodb-org-shell Interface de ligne de commande
mongodb-org-tools Outils MongoDB (importation, exportation, restauration, vidage et autres outils)

SELinux

Pour exécuter MongoDB avec SELinux activé (mode d'application), suivez les instructions pour personnaliser la politique SELinux pour MongoDB. Ignorez les étapes ci-dessous, au cas où vous auriez désactivé SELinux sur votre système.

Installez le package checkpolicy avec la commande dnf.

dnf install -y checkpolicy
 

Créez un fichier de stratégie SELinux pour permettre au processus MongoDB d'accéder au groupe de contrôle afin de déterminer la mémoire disponible sur votre système.

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
 

Compilez et chargez notre module de politique SELinux personnalisé à l'aide des commandes ci-dessous.

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
 

Étapes post-installation

Paramètres Ulimit

Par défaut, la plupart des systèmes ont une limite définie pour le nombre de processus, de fichiers ouverts, de mémoire, etc. qu'un utilisateur particulier (application fid) peut avoir, et ces limites peuvent causer des problèmes dans le fonctionnement de MongoDB.

MongoDB fournit désormais les paramètres de limite recommandés dans le fichier d'unité systemd. Nous n'avons donc pas besoin de définir les limites manuellement.

Activer le contrôle d'accès

Si vous prenez des bases de données relationnelles comme MySQL ou PostgreSQL, etc. est livré avec au moins un certain niveau d'authentification pour lequel les utilisateurs doivent s'authentifier pour effectuer des activités de base de données.

Mais, dans le cas de MongoDB, ce n'est pas le cas. Tous les utilisateurs peuvent accéder à n'importe quelle base de données et effectuer toutes les opérations sans authentification.

Pour résoudre ce problème, créez d'abord un utilisateur administrateur pour les opérations quotidiennes.

Ensuite, nous devons activer le contrôle d'accès en modifiant le fichier de configuration de MongoDB.

vi /etc/mongod.conf
 

Ajoutez les lignes ci-dessous.

security:
  authorization: enabled
 

Désactiver les pages volumineuses

Les pages volumineuses transparentes créent souvent des problèmes de performances pour les charges de travail de la base de données. Ainsi, MongoDB recommande de désactiver les pages volumineuses pour de meilleures performances.

Créez un répertoire et placez un fichier de profil adapté pour désactiver les pages volumineuses.

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

Créez un fichier.

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

Placez les lignes ci-dessous dans le fichier able.

[main]
include=virtual-guest

[vm]
transparent_hugepages=never
 

Activez notre profil nouvellement créé.

tuned-adm profile virtual-guest-no-thp
 

Démarrer le service MongoDB

Pour démarrer le service MongoDB, exécutez :

systemctl start mongod
 

Pour vérifier l'état du service MongoDB, exécutez :

systemctl status mongod
 
Sortie :● mongod.service - Serveur de base de données MongoDB chargé :chargé (/usr/lib/systemd/system/mongod.service ; activé ; préréglage du fournisseur :désactivé) Actif :actif (en cours d'exécution) depuis le lundi 2020-08-10 13 h 10 min 15 s HAE ; Il y a 11 s Docs :https://docs.mongodb.org/manual Processus :3147 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS) Processus :3145 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS) Processus :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 principal :3149 (mongod) Mémoire :61.1M CGroup :/system.slice/mongod.service └─3149 /usr/bin/mongod -f /etc/mongod.conf10 août 13:10:14 centos8.itzgeek.local systemd[1] :Démarrage du serveur de base de données MongoDB...10 août 13:10:14 centos8.itzgeek .local mongod[3147] :sur le point de bifurquer le processus enfant, en attente de servir>10 août 13:10:14 centos8.itzgeek.local mongod[3147] :processus bifurqué :314910 août 13:10:15 centos8.itzgeek.local mongod [3147] :le processus enfant a démarré avec succès, parent exiti>10 août 13:10:15 centos8.itzgeek.local systemd[1] :serveur de base de données MongoDB démarré.

Vérifiez la version de MongoDB.

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

Utilisez la commande netstat pour vérifier si MongoDB écoute sur le port 27017.

netstat -antup | grep -i 27017
 
Sortie :tcp 0 0 127.0.0.1:27017 0.0.0.0 :* ÉCOUTEZ 6898/mongod

LIRE : Commande netstat introuvable sur CentOS 7 / RHEL 7 – Solution rapide

Accéder à MongoDB

Connectez-vous au shell MongoDB en saisissant la commande suivante.

mongo
 
Sortie :MongoDB shell version v4.4.0connexion à :mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodbSession implicite :session { "id" :UUID("3ecdceaa-5050-41a3-96e3-8f821362523b ") }Version du serveur MongoDB :4.4.0Bienvenue dans le shell MongoDB. Pour une aide interactive, tapez "help". Pour une documentation plus complète, consultez https://docs.mongodb.com/Questions? Essayez les forums de la communauté des développeurs MongoDB https://community.mongodb.com>

Conclusion

C'est tout. J'espère que vous avez maintenant MongoDB sur votre système CentOS 8 / RHEL 8. Veuillez partager vos commentaires dans la section des commentaires.


Cent OS
  1. Comment installer MongoDB sur CentOS 8

  2. Comment installer phpMyAdmin sur RHEL 8 / CentOS 8

  3. Comment installer P7Zip sur RHEL 8 / CentOS 8

  4. Comment installer MongoDB 4.2 / 4.0 sur CentOS 6 / RHEL 6

  5. Comment installer MongoDB 4.4 / 4.2 sur CentOS 7 / RHEL 7

Comment installer maven sur RHEL 8 / CentOS 8

Comment installer cpan sur RHEL 8 / CentOS 8

Comment installer MongoDB sur CentOS 8

Comment installer MongoDB dans RHEL, CentOS, Rocky et AlmaLinux

Comment installer MongoDB sur CentOS 6

Comment installer Mongodb dans CentOS ?