Tutoriel sur l'ensemble de réplicas MongoDB: exemple de réplication étape par étape

Table des matières:

Anonim

Qu'est-ce que la réplication MongoDB?

La réplication fait référence au processus consistant à s'assurer que les mêmes données sont disponibles sur plusieurs serveurs Mongo DB. Cela est parfois nécessaire pour augmenter la disponibilité des données.

Parce que si votre serveur MongoDB principal tombe en panne pour une raison quelconque, il n'y aura pas d'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 si le serveur principal tombe en panne.

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 qu'il y ait une répartition égale de la charge.

Dans MongoDB, plusieurs serveurs MongDB sont regroupés dans des ensembles appelés ensembles de répliques. 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 après cela seront appelées les instances secondaires qui peuvent être utilisées principalement pour toutes les opérations de lecture.

Dans ce tutoriel, vous apprendrez -

  • Ensemble de répliques: ajout du premier membre à l'aide de rs.initiate ()
  • Ensemble de répliques: ajout d'un secondaire à l'aide de rs.add ()
  • Jeu de répliques: reconfiguration ou suppression à l'aide de rs.remove ()
  • Dépannage des jeux de réplicas

Ensemble de répliques: 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épliques d'instances MongoDB.

Supposons que pour notre exemple, nous avons 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 vous en donnera une meilleure idée.

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

Étape 1) Assurez-vous que toutes les instances 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, par conséquent, d'autres instances de MongoDB seront disponibles.

Étape 2) Assurez-vous que toutes les instances de mongo.exe peuvent se connecter entre elles. À partir de 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 à partir des serveurs restants.

Étape 3) Démarrez la première instance de mongod.exe avec l'option replSet. Cette option fournit un regroupement pour 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 le nom de votre jeu de réplicas.

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

Étape 5) Vérifiez le jeu de répliques en exécutant la commande rs.conf () pour vous assurer que la réplique est correctement configurée

Ensemble de répliques: 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épliques et ServerA, est défini comme le serveur principal dans le jeu de répliques.

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

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

Jeu de répliques: 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 exécutant 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 sont les mêmes que celles utilisées pour résoudre les problèmes rencontrés lors de l'utilisation des jeux de réplicas.

  1. Assurez-vous que toutes les instances de mongo.exe peuvent se connecter entre elles. Supposons que vous ayez 3 serveurs appelés ServerA, ServerB et ServerC. À partir du serveur A, émettez les 2 commandes ci-dessous
mongo -host ServerB -port 27017mongo -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 "heartbeat" qui indiquent simplement que le serveur est actif et fonctionne. La commande "status" obtient le statut 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 de MongoDB qui stocke l'historique des écritures effectuées dans la base de données MongoDB. 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 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 devienne plein.

Résumé:

  • La réplication fait référence au processus consistant à s'assurer que les mêmes données sont disponibles sur plusieurs serveurs Mongo DB. De nombreux membres (instances MongoDB) peuvent être ajoutés à l'ensemble de réplicas en fonction des besoins.