MongoDB Réplication : comment créer MongoDB Ensemble de répliques

Qu’est ce qu' MongoDB Réplication ?

La réplication fait référence au processus permettant de garantir que les mêmes données sont disponibles sur plusieurs serveurs Mongo DB. Cela est parfois nécessaire pour accroître la disponibilité des données.

Parce que si ton principal MongoDB Le serveur tombe en panne pour une raison quelconque, il n'y aura aucun accès aux données. Mais si vous avez répliqué les données sur un autre serveur à intervalles réguliers, vous pourrez accéder aux données d'un autre serveur même en cas de panne du serveur principal.

Un autre objectif de la réplication est la possibilité d'équilibrer la charge. Si de nombreux utilisateurs se connectent au système, au lieu que tout le monde se connecte à un seul système, les utilisateurs peuvent être connectés à plusieurs serveurs afin d'obtenir une répartition égale de la charge.

In MongoDB, plusieurs MongoDB Les serveurs sont regroupés dans des ensembles appelés ensembles de réplicas. L'ensemble de réplicas aura un serveur principal qui acceptera toutes les opérations d'écriture des clients. Toutes les autres instances ajoutées à l'ensemble par la suite seront appelées instances secondaires qui peuvent être utilisées principalement pour toutes les opérations de lecture.

Comment créer un jeu de réplicas dans MongoDB Ajout du premier membre à l'aide de rs.initiate()

Comme mentionné dans la section précédente, pour activer la réplication, nous devons d'abord créer un jeu de réplicas de MongoDB les instances.

Supposons que pour notre exemple, nous ayons 3 serveurs appelés ServerA, ServerB et ServerC. Dans cette configuration, ServerA sera notre serveur principal et ServerB et ServerC seront nos serveurs secondaires. La capture d'écran ci-dessous donnera une meilleure idée.

Créer un jeu de réplicas dans MongoDB

Vous trouverez ci-dessous les étapes à suivre pour créer le MongoDB jeu de répliques ainsi que l’ajout du premier membre à l’ensemble.

Étape 1) Assurez-vous que toutes les instances mongod.exe sont ajoutées

Assurez-vous que toutes les instances de mongod.exe qui seront ajoutées au jeu de réplicas sont installées sur des serveurs différents. Cela permet de garantir que même si un serveur tombe en panne, les autres seront disponibles et donc d'autres instances de MongoDB sera disponible.

Étape 2) Toutes les instances de mongo.exe se connectent les unes aux autres

Assurez-vous que toutes les instances de mongo.exe peuvent se connecter les unes aux autres. Depuis ServerA, émettez les 2 commandes ci-dessous.

mongo –host ServerB –port 27017
mongo –host ServerC –port 27017

De même, faites la même chose depuis les serveurs restants.

Étape 3) Démarrez la première instance de mongod.exe

Démarrez la première instance de mongod.exe avec l'option replSet. Cette option fournit un regroupement de tous les serveurs qui feront partie de ce jeu de réplicas.

mongo –replSet "Replica1"

Où « Replica1 » est le nom de votre jeu de réplicas. Vous pouvez choisir n’importe quel nom significatif pour votre jeu de réplicas.

Étape 4) Le premier serveur est ajouté au jeu de réplicas

Maintenant que le premier serveur est ajouté au jeu de réplicas, l'étape suivante consiste à lancer le jeu de réplicas en exécutant la commande suivante rs.initiate ().

Étape 5) Vérifier le jeu de réplicas

Vérifiez le jeu de réplicas en exécutant la commande rs.conf() pour vous assurer que le réplica est correctement configuré.

Ensemble de réplicas : ajout d'un secondaire à l'aide de rs.add()

Les serveurs secondaires peuvent être ajoutés au jeu de réplicas en utilisant simplement la commande rs.add. Cette commande prend le nom des serveurs secondaires et ajoute les serveurs au jeu de réplication.

Étape 1) Supposons que vous ayez ServerA, ServerB et ServerC, qui doivent faire partie de votre jeu de réplicas et que ServerA soit défini comme serveur principal dans le jeu de réplicas.

Pour ajouter ServerB et ServerC au jeu de réplicas, exécutez les commandes

rs.add("ServerB")
rs.add("ServerC")

Ensemble de réplicas : reconfiguration ou suppression à l'aide de rs.remove()

Pour supprimer un serveur du jeu de configuration, nous devons utiliser la commande « rs.remove »

Étape 1) Effectuez d’abord un arrêt de l’instance que vous souhaitez supprimer. On peut le faire en émettant la commande db.shutdownserver à partir du shell mongo.

Étape 2) Connectez-vous au serveur principal

Étape 3) Utilisez la commande rs.remove pour supprimer le serveur requis du jeu de réplicas. Supposons donc que si vous disposez d'un jeu de réplicas avec ServerA, ServerB et ServerC et que vous souhaitez supprimer ServerC du jeu de réplicas, exécutez la commande

rs.remove("ServerC")

Dépannage des jeux de réplicas

Les étapes suivantes correspondent aux mêmes méthodes de dépannage lorsque des problèmes surviennent lors de l'utilisation de jeux de réplicas.

  1. Assurez-vous que toutes les instances de mongo.exe peuvent se connecter les unes aux autres. Supposons que vous disposiez de 3 serveurs appelés ServerA, ServerB et ServerC. Depuis le serveur A, émettez les 2 commandes ci-dessous
mongo –host ServerB –port 27017
mongo –host ServerC –port 27017
  1. Exécutez la commande rs.status. Cette commande donne l'état du jeu de réplicas. Par défaut, chaque membre s'enverra des messages appelés messages « battement de cœur » qui indiquent simplement que le serveur est vivant et fonctionne. La commande « statut » obtient l'état de ces messages et indique s'il y a des problèmes avec les membres du jeu de réplicas.
  2. Vérifiez la taille de l'Oplog – L'Oplog est une collection en MongoDB qui stocke l'historique des écritures effectuées sur le MongoDB base de données. MongoDB utilise ensuite cet Oplog pour répliquer les écritures sur les autres membres du jeu de réplicas. Pour vérifier l'Oplog, connectez-vous à l'instance de membre requise et exécutez la commande rs.printReplicationInfo. Cette commande affichera la taille du journal et combien de temps il peut conserver les transactions dans son fichier journal avant qu'il ne soit plein.

Résumé

Réplication dans MongoDB fait référence au processus permettant de garantir que les mêmes données sont disponibles sur plusieurs serveurs Mongo DB. De nombreux membres (MongoDB instances) peuvent être ajoutées à l’ensemble de réplicas en fonction des besoins.