Tutorial Set Replica MongoDB: Παράδειγμα βήμα προς βήμα αναπαραγωγής

Τι είναι η αναπαραγωγή MongoDB;

Η αναπαραγωγή αναφέρεται στη διαδικασία διασφάλισης ότι τα ίδια δεδομένα είναι διαθέσιμα σε περισσότερους από έναν διακομιστές Mongo DB. Αυτό απαιτείται μερικές φορές για την αύξηση της διαθεσιμότητας δεδομένων.

Επειδή εάν ο κύριος διακομιστής MongoDB τερματιστεί για οποιονδήποτε λόγο, δεν θα υπάρχει πρόσβαση στα δεδομένα. Αν όμως τα δεδομένα αναπαράγονταν σε άλλο διακομιστή σε τακτά χρονικά διαστήματα, θα έχετε τη δυνατότητα πρόσβασης στα δεδομένα από άλλον διακομιστή, ακόμη και αν ο πρωτεύων διακομιστής αποτύχει.

Ένας άλλος σκοπός της αναπαραγωγής είναι η δυνατότητα εξισορρόπησης φορτίου. Εάν υπάρχουν πολλοί χρήστες που συνδέονται στο σύστημα, αντί να έχουν όλοι σύνδεση σε ένα σύστημα, οι χρήστες μπορούν να συνδεθούν σε πολλούς διακομιστές, έτσι ώστε να υπάρχει ίση κατανομή του φορτίου.

Στο MongoDB, πολλοί διακομιστές MongDB ομαδοποιούνται σε σύνολα που ονομάζονται σετ ρεπλίκας. Το σετ ρεπλίκας θα έχει έναν πρωτεύοντα διακομιστή ο οποίος θα δέχεται όλη τη λειτουργία εγγραφής από πελάτες. Όλες οι άλλες παρουσίες που προστίθενται στο σύνολο μετά από αυτό θα ονομάζονται δευτερεύουσες παρουσίες που μπορούν να χρησιμοποιηθούν κυρίως για όλες τις λειτουργίες ανάγνωσης.

Σε αυτό το σεμινάριο, θα μάθετε -

  • Σετ ρεπλίκας: Προσθήκη του πρώτου μέλους χρησιμοποιώντας το rs.initiate ()
  • Σετ ρεπλίκας: Προσθήκη δευτερεύοντος χρησιμοποιώντας rs.add ()
  • Σετ ρεπλίκας: Επαναδιαμόρφωση ή αφαίρεση χρησιμοποιώντας rs.remove ()
  • Αντιμετώπιση προβλημάτων σετ ρεπλίκας

Σετ ρεπλίκας: Προσθήκη του πρώτου μέλους χρησιμοποιώντας το rs.initiate ()

Όπως αναφέρθηκε στην προηγούμενη ενότητα, για να επιτρέψουμε την αναπαραγωγή, πρέπει πρώτα να δημιουργήσουμε ένα σύνολο αντιγράφων παρουσιών MongoDB.

Ας υποθέσουμε ότι, για παράδειγμα, έχουμε 3 διακομιστές που ονομάζονται ServerA, ServerB και ServerC. Σε αυτήν τη διαμόρφωση, ο ServerA θα είναι ο κύριος διακομιστής μας και ο διακομιστής ServerB και ο ServerC θα είναι οι δευτερεύοντες διακομιστές μας. Το παρακάτω στιγμιότυπο οθόνης θα δώσει μια καλύτερη ιδέα για αυτό.

Ακολουθούν τα βήματα που πρέπει να ακολουθηθούν για τη δημιουργία του σετ αντιγράφων μαζί με την προσθήκη του πρώτου μέλους στο σετ.

Βήμα 1) Βεβαιωθείτε ότι όλες οι παρουσίες mongod.exe που θα προστεθούν στο σύνολο αντιγράφων είναι εγκατεστημένες σε διαφορετικούς διακομιστές. Αυτό γίνεται για να διασφαλιστεί ότι ακόμη και αν ένας διακομιστής πέσει κάτω, οι άλλοι θα είναι διαθέσιμοι και ως εκ τούτου και άλλες περιπτώσεις του MongoDB θα είναι διαθέσιμες.

Βήμα 2) Βεβαιωθείτε ότι όλες οι παρουσίες mongo.exe μπορούν να συνδεθούν μεταξύ τους. Από το ServerA, εκδώστε τις παρακάτω 2 εντολές

mongo -host ServerB -port 27017
mongo -host ServerC -port 27017

Ομοίως, κάντε το ίδιο πράγμα από τους υπόλοιπους διακομιστές.

Βήμα 3) Ξεκινήστε την πρώτη παρουσία mongod.exe με την επιλογή replSet. Αυτή η επιλογή παρέχει μια ομαδοποίηση για όλους τους διακομιστές που θα είναι μέρος αυτού του συνόλου ρεπλίκων.

mongo -replSet "Replica1"

Όπου "Replica1" είναι το όνομα του σετ ρεπλίκα σας. Μπορείτε να επιλέξετε οποιοδήποτε νόημα όνομα για το όνομα του ρεπλίκα σας.

Βήμα 4) Τώρα που ο πρώτος διακομιστής προστίθεται στο σύνολο αντιγράφων, το επόμενο βήμα είναι να ξεκινήσετε το σύνολο αντιγράφου εκδίδοντας την ακόλουθη εντολή rs.initiate ()

Βήμα 5) Επαληθεύστε το σύνολο αντιγράφων εκδίδοντας την εντολή rs.conf () για να βεβαιωθείτε ότι το αντίγραφο έχει ρυθμιστεί σωστά

Σετ ρεπλίκας: Προσθήκη δευτερεύοντος χρησιμοποιώντας rs.add ()

Οι δευτερεύοντες διακομιστές μπορούν να προστεθούν στο σύνολο αντιγράφων χρησιμοποιώντας απλώς την εντολή rs.add. Αυτή η εντολή παίρνει το όνομα των δευτερευόντων διακομιστών και προσθέτει τους διακομιστές στο σύνολο αναπαραγωγής.

Βήμα 1) Ας υποθέσουμε ότι εάν έχετε ServerA, ServerB και ServerC, που απαιτείται να είναι μέρος του σετ ρεπλίκα σας και ServerA, ορίζεται ως ο κύριος διακομιστής στο σύνολο ρεπλίκα.

Για να προσθέσετε ServerB και ServerC στο σύνολο αντιγράφων εκδώστε τις εντολές

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

Σετ ρεπλίκας: Επαναδιαμόρφωση ή αφαίρεση χρησιμοποιώντας rs.remove ()

Για να αφαιρέσουμε έναν διακομιστή από το σύνολο ρυθμίσεων, πρέπει να χρησιμοποιήσουμε την εντολή "rs.remove"

Βήμα 1) Πρώτα εκτελέστε έναν τερματισμό της παρουσίας που θέλετε να καταργήσετε. Κάποιος μπορεί να το κάνει αυτό εκδίδοντας την εντολή db.shutdownserver από το κέλυφος mongo.

Βήμα 2) Συνδεθείτε στον κύριο διακομιστή

Βήμα 3) Χρησιμοποιήστε την εντολή rs.remove για να αφαιρέσετε τον απαιτούμενο διακομιστή από το σύνολο αντιγράφων. Ας υποθέσουμε ότι εάν έχετε ένα σύνολο αντιγράφων με ServerA, ServerB και ServerC και θέλετε να καταργήσετε το ServerC από το σύνολο αντιγράφων, εκδώστε την εντολή

rs.remove("ServerC")

Αντιμετώπιση προβλημάτων σετ ρεπλίκας

Τα παρακάτω βήματα είναι οι ίδιοι τρόποι με τους οποίους μπορεί κανείς να αντιμετωπίσει προβλήματα όταν αντιμετωπίζονται προβλήματα με τη χρήση σετ ρεπλίκας.

  1. Βεβαιωθείτε ότι όλες οι παρουσίες mongo.exe μπορούν να συνδεθούν μεταξύ τους. Ας υποθέσουμε ότι έχετε 3 διακομιστές που ονομάζονται ServerA, ServerB και ServerC. Από τον διακομιστή Α, εκδώστε τις παρακάτω 2 εντολές
mongo -host ServerB -port 27017mongo -host ServerC -port 27017
  1. Εκτελέστε την εντολή rs.status. Αυτή η εντολή δίνει την κατάσταση του σετ αντιγράφων. Από προεπιλογή, κάθε μέλος θα στέλνει μηνύματα το ένα στο άλλο που ονομάζεται "καρδιακός παλμός" μηνύματα που απλά υποδεικνύουν ότι ο διακομιστής είναι ζωντανός και λειτουργεί. Η εντολή "κατάσταση" λαμβάνει την κατάσταση αυτών των μηνυμάτων και δείχνει εάν υπάρχουν προβλήματα με κανένα μέλος στο σύνολο αντιγράφων.
  2. Ελέγξτε το μέγεθος του Oplog - Το Oplog είναι μια συλλογή στο MongoDB που αποθηκεύει την ιστορία των εγγραφών που έγιναν στη βάση δεδομένων MongoDB. Στη συνέχεια, το MongoDB χρησιμοποιεί αυτό το Oplog για να αναπαραγάγει τις εγγραφές στα άλλα μέλη του σετ ρεπλίκα. Για να ελέγξετε το Oplog, συνδεθείτε στην απαιτούμενη παρουσία μέλους και εκτελέστε την εντολή rs.printReplicationInfo. Αυτή η εντολή θα δείξει το μέγεθος του αρχείου καταγραφής και πόσο καιρό μπορεί να κρατήσει συναλλαγές στο αρχείο καταγραφής του προτού γεμίσει.

Περίληψη:

  • Η αναπαραγωγή αναφέρεται στη διαδικασία διασφάλισης ότι τα ίδια δεδομένα είναι διαθέσιμα σε περισσότερους από έναν διακομιστές Mongo DB. Πολλά μέλη (παρουσίες MongoDB) μπορούν να προστεθούν στο σύνολο Replica ανάλογα με τις απαιτήσεις.
  • ενδιαφέροντα άρθρα...