Εκπαιδευτικό βίντεο Apache ZooKeeper

⚡ Έξυπνη Σύνοψη

Το σεμινάριο Apache ZooKeeper παρουσιάζει την κεντρική υπηρεσία για διαμόρφωση, ονομασία, συγχρονισμό και υπηρεσίες ομάδας σε κατανεμημένα συστήματα. LessΚαλύπτουν την αρχιτεκτονική, το μοντέλο δεδομένων, τα ρολόγια, τα σύνολα, τις εφαρμογές, τα πλεονεκτήματα και τα μειονεκτήματα.

  • Υπηρεσία Συντονισμού: Το ZooKeeper λειτουργεί ως αξιόπιστη ραχοκοκαλιά για τον συντονισμό και τη συναίνεση των κατανεμημένων εφαρμογών.
  • 🗂️ Δέντρο ZNode: Τα δεδομένα αποθηκεύονται σε έναν ιεραρχικό χώρο ονομάτων ZNodes που μοιάζει με σύστημα αρχείων.
  • 👀 Ρολόγια: Οι πελάτες εγγράφονται σε συμβάντα ZNode, λαμβάνοντας επανάκληση όταν αλλάζουν δεδομένα ή εμφανίζονται θυγατρικά στοιχεία.
  • 🧩 Απαρτία Συνόλου: Ένα σύνολο διακομιστών με μονό αριθμό παρέχει ανοχή σφαλμάτων και εγγραφές που βασίζονται στην πλειοψηφία.
  • Χρήση περιπτώσεων: Εκλογή ηγετών εξουσιών, κατανεμημένα κλειδώματα, ανακάλυψη υπηρεσιών και διαχείριση διαμόρφωσης.
  • 🤖 AI Cluster Βοήθεια: Οι βοηθοί τεχνητής νοημοσύνης εξηγούν τις λειτουργίες αστοχίας του ZooKeeper και δημιουργούν ρυθμίσεις συνόλων φιλικές προς το kubernetes.

Εκπαιδευτικό βίντεο ZooKeeper

Τι είναι ένα κατανεμημένο σύστημα;

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

Τι είναι το Zookeeper;

Apache Zookeeper είναι μια κατανεμημένη υπηρεσία συντονισμού ανοιχτού κώδικα που βοηθά στη διαχείριση ενός μεγάλου συνόλου κεντρικών υπολογιστών. Η διαχείριση και ο συντονισμός σε ένα κατανεμημένο περιβάλλον είναι δύσκολος. Το Zookeeper αυτοματοποιεί αυτή τη διαδικασία και επιτρέπει στους προγραμματιστές να επικεντρωθούν στη δημιουργία λειτουργιών λογισμικού αντί να ανησυχούν για την κατανεμημένη φύση του.

Το Zookeeper σάς βοηθά να διατηρείτε πληροφορίες διαμόρφωσης, ονομασία, ομαδικές υπηρεσίες για κατανεμημένες εφαρμογές. Εφαρμόζει διαφορετικά πρωτόκολλα στο σύμπλεγμα, έτσι ώστε η εφαρμογή να μην υλοποιείται από μόνη της. Παρέχει μια ενιαία συνεκτική άποψη πολλών μηχανών.

Γιατί το Apache Zookeeper;

Εδώ, είναι σημαντικοί λόγοι πίσω από τη δημοτικότητα του Zookeeper:

  • Επιτρέπει τον αμοιβαίο αποκλεισμό και τη συνεργασία μεταξύ των διαδικασιών διακομιστή
  • Διασφαλίζει ότι η εφαρμογή σας εκτελείται με συνέπεια.
  • Η διαδικασία συναλλαγής δεν ολοκληρώνεται ποτέ εν μέρει. Είτε του δίνεται το καθεστώς της Επιτυχίας ή της αποτυχίας. Η κατανεμημένη κατάσταση μπορεί να συγκρατηθεί, αλλά ποτέ δεν είναι λάθος
  • Ανεξάρτητα από τον διακομιστή στον οποίο συνδέεται, ένας πελάτης θα μπορεί να δει την ίδια προβολή της υπηρεσίας
  • Σας βοηθά να κωδικοποιήσετε τα δεδομένα σύμφωνα με το συγκεκριμένο σύνολο κανόνων
  • Βοηθά στη διατήρηση ενός τυπικού ιεραρχικού χώρου ονομάτων παρόμοιο με αρχεία και καταλόγους
  • Υπολογιστές, οι οποίοι λειτουργούν ως ένα ενιαίο σύστημα που μπορεί να συνδεθεί τοπικά ή γεωγραφικά
  • Επιτρέπει τη σύνδεση/αποχώρηση κόμβου σε ένα σύμπλεγμα και την κατάσταση κόμβου σε πραγματικό χρόνο
  • Μπορείτε να αυξήσετε την απόδοση αναπτύσσοντας περισσότερα μηχανήματα
  • Σας επιτρέπει να επιλέξετε έναν κόμβο ως ηγέτη για καλύτερο συντονισμό
  • Το ZooKeeper λειτουργεί γρήγορα με φόρτους εργασίας όπου η ανάγνωση των δεδομένων είναι πιο συχνή από την εγγραφή

ZooKeeper Architecture: Πώς λειτουργεί;

Εδώ είναι μια σύντομη εξήγηση για Apache Αρχιτεκτονική Zookeeper:

  • Ο Zookeeper ακολουθεί έναν πελάτη-διακομιστή Archiδομή
  • Όλα τα συστήματα αποθηκεύουν ένα αντίγραφο των δεδομένων
  • Οι ηγέτες εκλέγονται κατά την εκκίνηση
Archiδομή του ZooKeeper
Archiδομή του ZooKeeper

Server: Ο διακομιστής στέλνει μια επιβεβαίωση όταν συνδέεται οποιοσδήποτε πελάτης. Στην περίπτωση που δεν υπάρχει απάντηση από τον συνδεδεμένο διακομιστή, ο πελάτης ανακατευθύνει αυτόματα το μήνυμα σε άλλο διακομιστή.

Πελάτης: Ο πελάτης είναι ένας από τους κόμβους στο κατανεμημένο σύμπλεγμα εφαρμογών. Σας βοηθά να έχετε πρόσβαση σε πληροφορίες από τον διακομιστή. Κάθε πελάτης στέλνει ένα μήνυμα στον διακομιστή σε τακτά χρονικά διαστήματα που βοηθά τον διακομιστή να γνωρίζει ότι ο πελάτης είναι ζωντανός.

Ηγέτης: Ένας από τους διακομιστές ορίζεται ως Leader. Δίνει όλες τις πληροφορίες στους πελάτες καθώς και μια επιβεβαίωση ότι ο διακομιστής είναι ζωντανός. Θα εκτελούσε αυτόματη ανάκτηση εάν κάποιος από τους συνδεδεμένους κόμβους αποτύχει.

Οπαδός: Ο κόμβος διακομιστή που ακολουθεί τις οδηγίες του οδηγού ονομάζεται ακόλουθος.

  • Τα αιτήματα ανάγνωσης πελατών διεκπεραιώνονται από τον αντίστοιχα συνδεδεμένο διακομιστή Zookeeper
  • Τα αιτήματα γραφής του πελάτη διεκπεραιώνονται από τον αρχηγό του Zookeeper.

Σύνολο/Cluster: Ομάδα διακομιστών Zookeeper που ονομάζεται ensemble ή a Cluster. Μπορείτε να χρησιμοποιήσετε την υποδομή ZooKeeper στη λειτουργία συμπλέγματος για να έχετε το σύστημα στη βέλτιστη τιμή όταν εκτελείτε το Apache.

ZooKeeper WebUI: Εάν θέλετε να εργαστείτε με τη διαχείριση πόρων ZooKeeper, τότε πρέπει να χρησιμοποιήσετε WebUI. Επιτρέπει την εργασία με το ZooKeeper χρησιμοποιώντας τη διεπαφή χρήστη web, αντί για τη χρήση της γραμμής εντολών. Προσφέρει γρήγορη και αποτελεσματική επικοινωνία με την εφαρμογή ZooKeeper.

Το μοντέλο δεδομένων Zookeeper (ZDM)

Τώρα σε αυτό το σεμινάριο ZooKeeper, ας μάθουμε για το μοντέλο δεδομένων Zookeeper. Το παρακάτω σχήμα εξηγεί το μοντέλο δεδομένων Apache Zookeeper:

Το μοντέλο δεδομένων Zookeeper
Μοντέλο δεδομένων Zookeeper
  • Το μοντέλο δεδομένων zookeeper ακολουθεί έναν ιεραρχικό χώρο ονομάτων όπου κάθε κόμβος ονομάζεται ZNode. Ένας κόμβος είναι ένα σύστημα όπου εκτελείται το σύμπλεγμα.
  • Κάθε ZNode έχει δεδομένα. Μπορεί να έχει παιδιά ή να μην έχει
  • Διαδρομές ZNode:
    • Κανονικό, διαχωρισμένο με κάθετο και απόλυτο
    • Μην χρησιμοποιείτε σχετικές αναφορές
    • Τα ονόματα μπορεί να έχουν χαρακτήρες Unicode
  • Το ZNode διατηρεί τη δομή στατιστικών στοιχείων και τον αριθμό έκδοσης για αλλαγές δεδομένων.

Τύποι κόμβων Zookeeper

Υπάρχουν τρεις τύποι Znodes:

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

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

Διαδοχική znode: Οι διαδοχικοί znode μπορεί να είναι είτε εφήμεροι είτε επίμονοι. Έτσι, όταν δημιουργείται ένα νέο znode ως διαδοχικό znode. Μπορείτε να αντιστοιχίσετε τη διαδρομή του znode επισυνάπτοντας έναν 10ψήφιο αριθμό σειράς στο αρχικό όνομα.

ZDM- Ρολόγια

Zookeeper, ένα συμβάν παρακολούθησης είναι μια εφάπαξ ενεργοποίηση που αποστέλλεται στον πελάτη που ρύθμισε το ρολόι. Προέκυψε όταν αλλάζουν τα δεδομένα από αυτό το ρολόι. Το ρολόι ZDM επιτρέπει στους πελάτες να λαμβάνουν ειδοποιήσεις όταν αλλάζει το znode. Υπάρχουν λειτουργίες ανάγνωσης ZDM όπως getData(), getChidleren(), έχουν την επιλογή ρύθμισης ρολογιού.

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

ZDM- Λίστα ελέγχου πρόσβασης

Το Zookeeper χρησιμοποιεί ACL για να ελέγχει την πρόσβαση στα znodes του. Το ACL αποτελείται από ένα ζεύγος (Σχήμα: id, άδεια)

Ενσωμάτωση σε σχήματα ACL:

κόσμος: έχει ένα μόνο αναγνωριστικό, οποιοσδήποτε

auth: Δεν χρησιμοποιείται κανένα αναγνωριστικό, Αντιπροσωπεύει οποιονδήποτε πιστοποιημένο χρήστη

Digest: χρησιμοποιήστε ένα όνομα χρήστη: κωδικό πρόσβασης

host: Σας επιτρέπει να χρησιμοποιείτε το όνομα κεντρικού υπολογιστή του πελάτη ως ταυτότητα αναγνωριστικού ACL

IP: χρησιμοποιήστε τη διεύθυνση IP του κεντρικού υπολογιστή πελάτη ως ταυτότητα αναγνωριστικού ACL

Δικαιώματα ACL:

  • ΔΗΜΙΟΥΡΓΩ
  • READ
  • Γράψτε
  • ΔΙΑΓΡΑΦΗ
  • ΔΙΑΧΕΙΡΙΣΤΗΣ

Πχ (IP: 192.168.0.0/16, ΔΙΑΒΑΣΤΕ)

Το ZKS – Κατάσταση συνεδρίας και διάρκεια ζωής

ZKS – Κράτη συνόδου
ZKS – Κράτη συνόδου
  • Πριν από την εκτέλεση οποιουδήποτε αιτήματος, είναι σημαντικό ο πελάτης να δημιουργήσει μια συνεδρία με την υπηρεσία
  • Όλες οι λειτουργίες που αποστέλλονται οι πελάτες στην υπηρεσία συσχετίζονται αυτόματα με μια περίοδο λειτουργίας
  • Ο πελάτης μπορεί να συνδεθεί σε οποιονδήποτε διακομιστή του συμπλέγματος. Αλλά θα συνδεθεί μόνο σε έναν μόνο διακομιστή
  • Η συνεδρία παρέχει «εγγυήσεις παραγγελιών». Τα αιτήματα στη συνεδρία εκτελούνται με τη σειρά FIFO
  • Οι κύριες καταστάσεις για μια περίοδο λειτουργίας είναι 1) Σύνδεση, 2) Συνδεδεμένη 3) Κλειστή 4) Μη συνδεδεμένη.

Πώς να εγκαταστήσετε το ZooKeeper

Βήμα 1) Κάντε κλικ στο Συνέχεια για εγγραφή
Πηγαίνετε σε αυτό σύνδεσμος και κάντε κλικ στο «Συνέχεια εγγραφής»

Εγκαταστήστε το ZooKeeper

Βήμα 2) Αποδοχή Όρων & Προϋποθέσεων
Στην επόμενη σελίδα, Αποδοχή Άδειας Χρήσης

Εγκαταστήστε το ZooKeeper

Βήμα 3) Εμφανίστηκε το ευχαριστήριο μήνυμα
Θα δείτε το ακόλουθο μήνυμα

Εγκαταστήστε το ZooKeeper

Βήμα 4) Κάντε κλικ στο Continue to Configure
Ανανεώστε τη σελίδα μετά από 5 λεπτά και προχωρήστε στη διαμόρφωση

Εγκαταστήστε το ZooKeeper

Βήμα 5) Κάντε κλικ στο «Συνέχεια εκκίνησης»
Στην επόμενη οθόνη, εκκινήστε το ZooKeeper

Εγκαταστήστε το ZooKeeper

Βήμα 6) Συγχαρητήρια!
Τελείωσες!

Εφαρμογές Apache ZooKeeper

Το Apache Zookeeper χρησιμοποιείται για τους ακόλουθους σκοπούς:

  • Διαχείριση της διαμόρφωσης
  • Υπηρεσίες ονοματοδοσίας
  • Επιλογή του αρχηγού
  • Στην ουρά τα μηνύματα
  • Διαχείριση του συστήματος ειδοποιήσεων
  • Syncχρονισμός
  • Διανέμονται Cluster Κοινωνικών Δικτύων

Εταιρείες που χρησιμοποιούν το Zookeeper

  • Yahoo
  • Facebook
  • eBay
  • Twitter
  • Netflix
  • Zynga
  • Nutanix

Μειονεκτήματα της χρήσης Zookeeper

  • Ενδέχεται να προκληθεί απώλεια δεδομένων εάν προσθέτετε νέους διακομιστές Zookeeper
  • Δεν επιτρέπεται η μετεγκατάσταση για τους χρήστες
  • Δεν προσφέρει υποστήριξη για τοποθέτηση και ευαισθητοποίηση Rack
  • Το Zookeeper δεν σας επιτρέπει να μειώσετε τον αριθμό των pods για να αποτρέψετε την τυχαία απώλεια δεδομένων
  • Δεν μπορείτε να αλλάξετε υπηρεσία σε δίκτυο κεντρικού υπολογιστή χωρίς πλήρη επανεγκατάσταση όταν η υπηρεσία αναπτύσσεται σε εικονικό δίκτυο
  • Η υπηρεσία δεν υποστηρίζει την αλλαγή των απαιτήσεων όγκου μετά την ολοκλήρωση της αρχικής ανάπτυξης
  • Υπάρχουν μεγάλοι αριθμοί κόμβων που εμπλέκονται, επομένως μπορεί να υπάρχουν περισσότερα από ένα σημεία αποτυχίας
  • Τα μηνύματα μπορεί να χαθούν στο δίκτυο επικοινωνίας, το οποίο απαιτεί ειδικό λογισμικό για να το ανακτήσει ξανά

Συχνές Ερωτήσεις

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

Τα εργαλεία τεχνητής νοημοσύνης δημιουργούν τη διαμόρφωση του ZooKeeper, προτείνουν το μέγεθος των συνόλων και αναλύουν τις μετρήσεις ruok και mntr. Επισημαίνουν κινδύνους split-brain και προτείνουν σενάρια ελέγχου εύρυθμης λειτουργίας για clusters παραγωγής.

Ναι. Οι βοηθοί τεχνητής νοημοσύνης αναλύουν τα αρχεία καταγραφής zookeeper.out, αναγνωρίζουν μοτίβα απώλειας απαρτίας και προτείνουν ρύθμιση χρονικού ορίου συνεδρίας. Επίσης, συντάσσουν βιβλία εκτέλεσης (runbooks) για κυλιόμενες επανεκκινήσεις και ανάκτηση στιγμιότυπων.

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

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

Το Kafka 4.0 και η λειτουργία KRaft καταργούν το ZooKeeper, αντικαθιστώντας το με ένα εσωτερικό quorum ελεγκτή που βασίζεται σε Raft. Οι νέες αναπτύξεις χρησιμοποιούν το KRaft, ενώ τα παλαιότερα clusters μπορούν να συνεχίσουν να χρησιμοποιούν το ZooKeeper με ασφάλεια.

Το ZooKeeper υποστηρίζει έλεγχο ταυτότητας SASL, Kerberos, μεταφορά TLS και εξουσιοδότηση βάσει ACL. Ενεργοποιήστε αυτές τις λειτουργίες και τα σύνολα τμημάτων ανά μισθωτή για να διατηρήσετε την απομόνωση σε κοινόχρηστα περιβάλλοντα.

Οι αρχάριοι κατανοούν το μοντέλο δεδομένων και το CLI σε μια εβδομάδα. OperaΗ προετοιμασία ενός συνόλου παραγωγής με στιγμιότυπα, παρακολούθηση και Kerberos απαιτεί συνήθως έναν έως τρεις μήνες πρακτικής εμπειρίας.

Συνοψίστε αυτήν την ανάρτηση με: