Installation de la base de données Mongo

Etape1: Ajouter le référentiel de logiciel Mongodb

A ce niveau il faudrait créer le fichier de configuration du référentiel Mongodb

# sudo nano /etc/yum.repos.d/mongodb-org-4.2.repo

Ensuite dans le fichier nouvellement créé, saisissez ce qui suit :

[mongodb-org-4.2]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/

gpgcheck=1

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

Etape2: Installation du logiciel Mongodb

# sudo yum install –y mongodb-org

Etape 3: Démarrer le service mongodb

# sudo systemctl start mongod

En cas d’erreur de type service introuvable, exécutez la commandeci-dessous:

#sudo systemctl daemon-reload

Vous pouvez configurer Mongodb pourqu’il s’exécute au démarrage au cas ou vous l’utiliser de façon permanente, avec la commande ci-dessous:

#sudo systemctl enable mongod

Vérifiez si le service Mongodb est en cours d’exécution avec la commande ci-dessous:

#sudo systemctl status mongod

Configuration de la base de données Mongodb:

Créez un utilisateur administrateur pour la base Mongodb

Ouvrez le shell Mongo à l’aide de la commande ci-dessous:

#mongo

Notez un changement de l’invite en “>

Utilisez la base de données admin disponible par défaut à l’aide de la commande:

>use admin

Ensuite, créez un compte utilisateur administrateur pour la base de données Mongo avec la commande ci-dessous :

>db.createUser({user: “mdbadmin”, pwd: “password”, roles: [ { role: “userAdminAnyDatabase”, db: “admin”} ] } )

Affichez la liste des utilisateurs avec la commande suivante:

>show users

Vous devrez avoir le résultat ci-dessous:

Configuration de la replication de la base mongodb:

Afin de repliquer les données de la base Mongodb, vous devez répéter les étapes d’installation et configuration de Mongodb sur tous les serveurs dont vous avez besoin.

Ici nous disposons de trois serveurs sur lesquels nous avons installé et configuré Mongodb. Le premier serveur représente le primaire et les deux autres représente les serveurs secondaires.

Et nous avons suivi les étapes suivantes afin de mettre en place la réplication des données du serveur primaires vers les serveurs secondaires

Etape1: Nommez les serveurs

#hostnamectl set-hostname mongodb0 (sur le serveur que vous allez considérer comme étant le primaire)

#hostnamectl set-hostname mongodb1(sur ledeuxième serveur que vous allez considérer comme étant le secondaire)

#hostnamectl set-hostname mongodb2(sur le troisième serveur que vous allez considérer comme étant le secondaire)

Ensuite exécuter la commande ci-dessous sur chaque afin que les noms d’hôtes soient prise en compte par le système:

#sudo reboot

Etape 2: Configurez les noms dns dans fichier hosts avec les adresses de tous les serveurs.

Répétez cette étape sur chaque serveur.

Ouvrez le fichier avec la commande suivante:

#sudo nano /etc/hosts

Voici un exemple:

192.168.60.12 mongodb0

192.168.60.13 mongodb1

192.168.60.14 mongodb2

Etape 3: Configurez la réplication en modifiant le fichier de configuration de la base Mongodb /etc/mongod.conf de chacun des serveurs.

Ouvrir le fichier de configuration de la base Mongodb avec la commande:

# sudo nano /etc/mongodb.conf

  • Configuration de la replication sur le premier serveur(mongodb0)
  • Configuration de la replication sur le deuxième serveur(mongodb1)
  • Configuration de la replication sur le troisième serveur(mongodb2)

Appuyez ctrl+x puis O pour sauvegarder le fichier afin de conserver les modifications effectuées.

Etape 4: Redémarrez le service Mongodb pour appliquer les modifications

#sudo systemctl –system daemon-reload

#sudo systemctl restart mongod

Etape 5: Activer le firewall pour autorisé le port de mongodb sur chaque serveur

Exécutez les commandes suivantes sur chaque serveur respectif:

#firewall-cmd –add-port=27017/tcp –permanent

#firewall-cmd –reload

Etape 6: Activer la réplication sur chaque serveur

Lancez la commande ci-dessous pour avoir le shell mongo sur les trois serveurs.

# mongo 192.168.60.12 (sur le serveur considérer comme le primaire)

# mongo 192.168.60.13 (sur le serveur considérer comme le deuxième serveur)

# mongo 192.168.60.14 (sur le serveur considérer comme le troisième serveur)

Initialisez la réplication avec la commande suivante, sur le serveur considérer comme le primaire uniquement. Dans notre cas mongodb0 :

>rs.initiate()

Ajouter les adresses des autres serveurs considérer comme secondaires, avec la commande:

>rs.add(“192.168.60.13)

>rs.add(“192.168.60.14)

Ensuite taper sur la touche “Entrée” et vous allez constater que le serveur est élu “PRIMARY

>rs.status()

Vérifiez l’état des autres serveurs, en tapant sur la touche “Enter” et vous allez constater qu’ils sont automatiquement élus “SECONDARY

Configurez chacun des serveurs secondaires en tant que slave, prêt à recevoir les données venant du primaire.

Exécutez la commande suivante:

#rs.secondaryOk()

Etape 7: Testez la réplication

Lancez la commande suivante sur les trois serveurs respectivement:

#show dbs

Remarquez que tous les serveurs dispose des trois bases de données par défaut que sont admin, config et local.

NB: Notez que sans avoir exécuter la commande rs.secondaryOk() sur les serveurs secondaires, vous ne pourriez pas exécuter la commande show dbs.

Afin de tester si votre réplication fonctionne correctement, créez une nouvelle base de données, puis insérez des données

>use test

> db.person.insert({“name”: “Mass”})

Lancez la commande suivante sur tous les serveurs et constatez que la base “test” y figure aussi désormais

>show dbs

NB: Notez que vous ne pourrai pas créer une nouvelle base de données, ou insérer des données à partir des serveurs secondaires. Cette opération n’est possible que sur le serveur primaire uniquement.


0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *