Πίνακας περιεχομένων:
- ΌνομαNode εκκίνηση και λειτουργία
- Για να δημιουργήσετε νέα αρχεία σε HDFS, θα πρέπει να πραγματοποιηθεί η ακόλουθη διαδικασία:
- Για να διαβάσετε αρχεία από HDFS, θα πρέπει να πραγματοποιηθεί η ακόλουθη διαδικασία:
- Με την πάροδο του χρόνου, με συνδυασμούς άνισων προτύπων λήψης δεδομένων (όπου μερικοί κόμβοι υποτελούς μπορεί να έχουν περισσότερα δεδομένα γραμμένα σε αυτά) ή αποτυχίες κόμβων, τα δεδομένα πιθανόν να κατανέμονται ανομοιόμορφα στα ράφια και υποτελείς κόμβους στο σύμπλεγμα Hadoop.
- Λόγω της κρίσιμης σημασίας του χαρακτήρα του, ο κύριος διακομιστής που εκτελεί τον δαίμονα NameNode χρειάζεται σημαντικά διαφορετικές απαιτήσεις υλικού από εκείνες για ένα υποτελές κόμβο. Πιο σημαντικά, πρέπει να χρησιμοποιηθούν εξαρτήματα σε επίπεδο επιχείρησης για την ελαχιστοποίηση της πιθανότητας διακοπής. Επίσης, θα χρειαστεί αρκετή μνήμη RAM για να φορτώσετε στη μνήμη όλα τα δεδομένα μεταδεδομένων και τοποθεσίας για όλα τα μπλοκ δεδομένων που είναι αποθηκευμένα σε HDFS.
Βίντεο: Big Data Analytics Lectures | Introduction to Hadoop in Hindi| Part 1 2024
Το NameNode λειτουργεί ως βιβλίο διευθύνσεων για το Distributed File System (HDFS) επειδή δεν γνωρίζει μόνο τα μπλοκ που απαρτίζουν τα μεμονωμένα αρχεία, αλλά και όπου αποθηκεύονται καθένα από αυτά τα μπλοκ και τα αντίγραφα τους. Όταν ένας χρήστης αποθηκεύει ένα αρχείο σε HDFS, το αρχείο χωρίζεται σε μπλοκ δεδομένων και τρία αντίγραφα αυτών των μπλοκ δεδομένων αποθηκεύονται σε κόμβους υποτελών σε ολόκληρο το σύμπλεγμα Hadoop.
Είναι πολλά μπλοκ δεδομένων για να παρακολουθείτε. Όπως μπορείτε να περιμένετε, γνωρίζοντας πού θάβονται τα σώματα, το NameNode είναι ένα κρίσιμο στοιχείο σε ένα cluster Hadoop. Εάν το ΌνομαNode δεν είναι διαθέσιμο, οι εφαρμογές δεν μπορούν να έχουν πρόσβαση σε δεδομένα αποθηκευμένα σε HDFS.
Εάν δείτε το παρακάτω σχήμα, μπορείτε να δείτε τον δαίμονα NameNode που εκτελείται σε έναν κεντρικό διακομιστή κόμβων. Όλες οι πληροφορίες χαρτογράφησης που ασχολούνται με τα μπλοκ δεδομένων και τα αντίστοιχα αρχεία τους αποθηκεύονται σε ένα αρχείο που ονομάζεται.
Το HDFS είναι ένα σύστημα αρχειοθέτησης αρχειοθέτησης, το οποίο σημαίνει ότι όλες οι αλλαγές δεδομένων καταγράφονται σε ένα περιοδικό επεξεργασίας που παρακολουθεί γεγονότα από το τελευταίο σημείο ελέγχου - την τελευταία φορά που συγχωνεύθηκε το αρχείο καταγραφής επεξεργασίας. Σε HDFS, το περιοδικό επεξεργασίας διατηρείται σε ένα αρχείο που ονομάζεται που είναι αποθηκευμένο στο ΌνομαNode.
ΌνομαNode εκκίνηση και λειτουργία
Για να κατανοήσετε πώς λειτουργεί το όνομαNode, είναι χρήσιμο να ρίξετε μια ματιά στο πώς ξεκινάει. Επειδή ο σκοπός του NameNode είναι να ενημερώνει τις εφαρμογές για το πόσα μπλοκ δεδομένων χρειάζονται για να επεξεργαστεί και να παρακολουθεί την ακριβή τοποθεσία όπου είναι αποθηκευμένα, χρειάζεται όλες τις τοποθεσίες μπλοκ και τις αντιστοιχίσεις μπλοκ σε αρχείο που είναι διαθέσιμες στο ΕΜΒΟΛΟ.
Αυτά είναι τα βήματα που λαμβάνει το ΌνομαNode. Για να φορτώσετε όλες τις πληροφορίες που χρειάζεται το ΌνομαNode μετά την εκκίνηση, συμβαίνουν τα εξής:
-
Το όνομαNode φορτώνει το αρχείο στη μνήμη.
-
Το NameNode φορτώνει το αρχείο και επαναλαμβάνει τις αλλαγές που έχουν καταχωρηθεί για να ενημερώσει τα μεταδεδομένα μπλοκ που είναι ήδη στη μνήμη.
-
Οι δαίμονες DataNode στέλνουν τις αναφορές ομάδων NameNode.
Για κάθε κόμβο υποτελούς, υπάρχει μια αναφορά μπλοκ που απαριθμεί όλα τα μπλοκ δεδομένων που είναι αποθηκευμένα εκεί και περιγράφει την υγεία του καθενός.
Μετά την ολοκλήρωση της διαδικασίας εκκίνησης, το NameNode έχει πλήρη εικόνα όλων των δεδομένων που είναι αποθηκευμένα σε HDFS και είναι έτοιμο να λάβει αιτήματα εφαρμογών από πελάτες Hadoop.
Δεδομένου ότι τα αρχεία δεδομένων προστίθενται και καταργούνται με βάση τα αιτήματα των πελατών, οι αλλαγές γράφονται στους τόμους των δίσκων του κόμβου του σκλάβου, πραγματοποιούνται ενημερώσεις περιοδικών στο αρχείο και οι αλλαγές αντανακλώνται στις θέσεις μπλοκ και τα μεταδεδομένα που είναι αποθηκευμένα στη μνήμη του ΌνομαNode.
Καθ 'όλη τη διάρκεια ζωής του συμπλέγματος, οι δαίμονες DataNode στέλνουν κάθε 3 δευτερόλεπτα τους κτύπους του ονόματος (γρήγορο σήμα), υποδεικνύοντας ότι είναι ενεργοί.(Αυτή η προεπιλεγμένη τιμή είναι ρυθμιζόμενη.) Κάθε έξι ώρες (και πάλι, μια προεπιλεγμένη ρύθμιση), τα DataNodes στέλνουν στο NameNode μια αναφορά μπλοκ που περιγράφει τα μπλοκ αρχείων που βρίσκονται στους κόμβους τους. Με αυτό τον τρόπο, το ΌνομαNode έχει πάντα μια τρέχουσα άποψη των διαθέσιμων πόρων στο σύμπλεγμα.
Για να δημιουργήσετε νέα αρχεία σε HDFS, θα πρέπει να πραγματοποιηθεί η ακόλουθη διαδικασία:
Ο πελάτης στέλνει ένα αίτημα στο ΌνομαNode για να δημιουργήσει ένα νέο αρχείο.
-
Το όνομαNode καθορίζει πόσα μπλοκ είναι απαραίτητα και ο πελάτης λαμβάνει
μίσθωση για τη δημιουργία αυτών των νέων μπλοκ αρχείων στο σύμπλεγμα. Ως μέρος αυτής της μίσθωσης, ο πελάτης έχει ένα χρονικό όριο για να ολοκληρώσει την εργασία δημιουργίας. (Αυτό το χρονικό όριο εξασφαλίζει ότι ο αποθηκευτικός χώρος δεν απορροφάται από τις αποτυχημένες εφαρμογές πελάτη.) Ο πελάτης τότε γράφει τα πρώτα αντίγραφα των μπλοκ αρχείων στους κόμβους slave χρησιμοποιώντας τη μίσθωση που έχει εκχωρηθεί από το όνομαNode.
-
Το NameNode χειρίζεται τις αιτήσεις εγγραφής και καθορίζει πού πρέπει να γράφονται τα μπλοκ αρχείων και τα αντίγραφα τους, εξισορροπώντας τη διαθεσιμότητα και την απόδοση. Το πρώτο αντίγραφο ενός μπλοκ αρχείου γράφεται σε ένα rack και το δεύτερο και το τρίτο αντίγραφο γράφονται σε διαφορετικό rack από το πρώτο αντίγραφο, αλλά σε διαφορετικούς κόμβους υποτελούς στο ίδιο rack. Αυτή η διάταξη ελαχιστοποιεί την κυκλοφορία του δικτύου ενώ εξασφαλίζει ότι δεν υπάρχουν μπλοκ δεδομένων στο ίδιο σημείο αποτυχίας.
Καθώς κάθε μπλοκ γράφεται σε HDFS, μια ειδική διαδικασία γράφει τα υπόλοιπα αντίγραφα στους άλλους κόμβους υποτελούς που προσδιορίζονται από το όνομαNode.
-
Αφού οι δαίμονες DataNode επιβεβαιώσουν ότι έχουν δημιουργηθεί τα αντίγραφα μπλοκαρχείων αρχείων, η εφαρμογή-πελάτης κλείνει το αρχείο και ειδοποιεί το όνομαNode, το οποίο στη συνέχεια κλείνει την ανοιχτή μίσθωση.
-
Ανάγνωση δεδομένων
Για να διαβάσετε αρχεία από HDFS, θα πρέπει να πραγματοποιηθεί η ακόλουθη διαδικασία:
Ο πελάτης στέλνει ένα αίτημα στο όνομαNode για ένα αρχείο.
-
Ο ΌνομαNode καθορίζει ποια τμήματα εμπλέκονται και επιλέγει, με βάση τη συνολική εγγύτητα των μπλοκ μεταξύ τους και με τον πελάτη, την πιο αποτελεσματική διαδρομή πρόσβασης.
Ο πελάτης κατόπιν αποκτά πρόσβαση στα μπλοκ χρησιμοποιώντας τις διευθύνσεις που δίδονται από τον ΌνομαNode.
-
Εξισορρόπηση δεδομένων στο σύμπλεγμα Hadoop
Με την πάροδο του χρόνου, με συνδυασμούς άνισων προτύπων λήψης δεδομένων (όπου μερικοί κόμβοι υποτελούς μπορεί να έχουν περισσότερα δεδομένα γραμμένα σε αυτά) ή αποτυχίες κόμβων, τα δεδομένα πιθανόν να κατανέμονται ανομοιόμορφα στα ράφια και υποτελείς κόμβους στο σύμπλεγμα Hadoop.
Αυτή η ανομοιογενής κατανομή μπορεί να έχει επιζήμιες επιπτώσεις στην απόδοση, επειδή η ζήτηση σε μεμονωμένους κόμβους υποτελούς θα γίνει ασύμμετρη. οι κόμβοι με ελάχιστα δεδομένα δεν θα χρησιμοποιηθούν πλήρως. και οι κόμβοι με πολλά μπλοκ θα χρησιμοποιηθούν υπερβολικά. (Σημείωση: Η υπερχρησιμοποίηση και η υποεκτέλεση βασίζονται στη δραστηριότητα του δίσκου και όχι στη CPU ή τη μνήμη RAM.) Το HDFS περιλαμβάνει ένα βοηθητικό πρόγραμμα εξισορρόπησης για την αναδιανομή μπλοκ από υπερφόρτωτους κόμβους μπλοκ σε διαφορετικούς κόμβους και σχάρες. Οι διαχειριστές του Hadoop θα πρέπει να ελέγχουν τακτικά την υγεία των HDFS και αν τα δεδομένα διανέμονται άνισα, θα πρέπει να επικαλούνται το βοηθητικό πρόγραμμα εξισορρόπησης.
Σχεδίαση αρχικού εξυπηρετητή NameNode