Βίντεο: How to Build and Install Hadoop on Windows 2024
Ένα μεγάλο σύνολο βάσεων δεδομένων NoSQL είναι ένα δύσκολο πράγμα που πρέπει να διαχειριστείτε. Apache Zookeeper στη διάσωση! Η παρακολούθηση των κόμβων που βρίσκονται στο σύμπλεγμα, τα δεδομένα που διαχειρίζεται κάθε ένα από αυτά και η εξασφάλιση της επιλογής νέων πλοίαρχων όταν ένας κύριος αποτυγχάνει δεν είναι απλές εργασίες.
Ο συντονισμός μεγάλων κατανεμημένων συστημάτων είναι επομένως πολύ δύσκολος. Τόσο η Hadoop όσο και οι κατανεμημένες βάσεις δεδομένων NoSQL χρειάζονται έναν τρόπο διαχείρισης της διαμόρφωσης ενός ολόκληρου συμπλέγματος. Αυτή η διαδικασία πρέπει επίσης να είναι πολύ διαθέσιμη έτσι ώστε να μην αποτελεί ενιαίο σημείο βλάβης στο συνολικό σύστημα.
Εδώ μπαίνει το Apache Zookeeper. Η Zookeeper παρέχει μια κατανεμημένη, συνεκτική υπηρεσία συντονισμού.
Αρκετά άλλα προϊόντα χρησιμοποιούν το Zookeeper για διαχείριση συμπλεγμάτων:
-
Apache Hadoop
-
Solr Cloud
-
Neo4j
-
Accumulo
-
HBase
-
Rackspace
-
Zynga
-
Yahoo! (για πολλές από τις υπηρεσίες της)
Το Zookeeper παρέχει μια ιεραρχική δομή αποθήκευσης μέσα στην μνήμη που είναι παρόμοια με ένα σύστημα αρχείων υπολογιστή. Αυτή η δομή διαχειρίζεται ο τρέχων κύριος Zookeeper και αναπαράγεται μεταξύ των άλλων κόμβων του συμπλέγματος. Ένα σύμπλεγμα Zookeeper ονομάζεται Zookeeper e .
Μόνο ο πλοίαρχος διαχειρίζεται τις ενημερώσεις (γράφει) στην αποθήκευση. Αυτές οι αλλαγές ελέγχονται στο δίσκο για να είναι ανθεκτικές και στη συνέχεια να αναπαραχθούν στις άλλες περιπτώσεις του Zookeeper στο σύνολο.
Αυτές οι υπηρεσίες αποθηκεύουν τα δεδομένα ρύθμισης συμπλέγματος στο Zookeeper. Μερικοί από αυτούς αποθηκεύουν τις σειρές κλειδιών για τα κομμάτια της βάσης δεδομένων τους. Αυτό επιτρέπει στους πελάτες που χρησιμοποιούν μια βάση δεδομένων NoSQL που χρησιμοποιεί το Zookeeper για να επικοινωνήσει με οποιοδήποτε διακομιστή Zookeeper στο σύνολο. Με τον τρόπο αυτό, οι πελάτες μπορούν να ανακαλύψουν ποιους διακομιστές NoSQL κρατούν τα δεδομένα που τους ενδιαφέρουν.
Αναζητώντας ποιο κόμβο αποθηκεύει ποια περιοχή κλειδιών ελαχιστοποιεί το φορτίο στους διακομιστές NoSQL, επειδή δεν χρειάζεται να διαβιβάζουν αιτήματα για δεδομένα από έναν κόμβο NoSQL στον κόμβο που κρατά τα δεδομένα.
Μπορείτε επίσης να χρησιμοποιήσετε την αποθήκευση δεδομένων του Zookeeper για εφήμερη αποθήκευση (αποθήκευση που δεν θα διαρκέσει πέρα από την επανεκκίνηση της υπηρεσίας), η οποία είναι χρήσιμη για την αποθήκευση συνόδων ή άλλων δεδομένων χρόνου εκτέλεσης.
Οι διακομιστές Zookeeper χρησιμοποιούν αυτό το προσωρινό αποθηκευτικό χώρο για να προσδιορίσουν ποιος θα αναλάβει την αποτυχία του πλοίαρχου. Κάθε διακομιστής δημιουργεί ένα αριθμημένο εφήμερο znode (αρχείο αποθήκευσης) στο χώρο κλειδιού. Εάν ο κύριος Zookeeper (αρχηγός) υποστεί βλάβη υλικού, τότε ο κύριος του επόμενου znode στην ακολουθία γίνεται ο κύριος. Πρόκειται για μια κομψή λύση και αποφεύγει την επίδραση "αγέλης" όπου όλοι οι διακομιστές επικοινωνούν ξέφρεκα μεταξύ τους για μερικά δευτερόλεπτα για να επιλέξουν ένα νέο κύριο.
Το Zookeeper είναι μια εξαιρετική λύση Java στα προβλήματα που σχετίζονται με τη διαχείριση των συστημάτων και τη διαθεσιμότητα. Μπορείτε να το χρησιμοποιήσετε για να εφαρμόσετε υπηρεσίες που είναι ιδιαίτερα διαθέσιμες, συμπεριλαμβανομένων των υπηρεσιών ανταλλαγής μηνυμάτων. Επομένως, αν χρειαστεί να δημιουργήσετε μια νέα κατανεμημένη υπηρεσία, σκεφτείτε να χρησιμοποιήσετε το Zookeeper.