Βίντεο: How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox 2024
Η επεξεργασία MapReduce στο Hadoop 1 γίνεται από τους δαίμονες JobTracker και TaskTracker. Το JobTracker διατηρεί μια άποψη για όλους τους διαθέσιμους πόρους επεξεργασίας στο σύμπλεγμα Hadoop και, καθώς οι αιτήσεις εφαρμογής εισέρχονται, προγραμματίζει και τις μεταφέρει στους κόμβους TaskTracker για εκτέλεση.
Καθώς εκτελούνται οι εφαρμογές, το JobTracker λαμβάνει ενημερώσεις κατάστασης από τους κόμβους του TaskTracker για να παρακολουθεί την πρόοδό τους και, εάν είναι απαραίτητο, να συντονίζει τη διαχείριση τυχόν βλαβών. Το JobTracker πρέπει να τρέχει σε έναν κύριο κόμβο στο σύμπλεγμα Hadoop καθώς συντονίζει την εκτέλεση όλων των εφαρμογών MapReduce στο σύμπλεγμα, γι 'αυτό είναι μια υπηρεσία κρίσιμης σημασίας.
Μια παράσταση του δαίμονα TaskTracker τρέχει σε κάθε κόμβο υποτελούς στο σύμπλεγμα Hadoop, που σημαίνει ότι κάθε κόμβος υποτελούς έχει μια υπηρεσία που το συνδέει με την επεξεργασία (TaskTracker) και την αποθήκευση (DataNode) που επιτρέπει στο Hadoop να είναι ένα κατανεμημένο σύστημα.
Ως διαδικασία slave, ο TaskTracker λαμβάνει αιτήματα επεξεργασίας από το JobTracker. Η πρωταρχική ευθύνη του είναι να παρακολουθεί την εκτέλεση των φόρτων εργασίας MapReduce που συμβαίνουν τοπικά στον κόμβο υποτελούς λειτουργίας του και να αποστέλλει ενημερώσεις κατάστασης στο JobTracker.
Οι TaskTrackers διαχειρίζονται τους πόρους επεξεργασίας σε κάθε υποτελές κόμβο με τη μορφή θυρίδων επεξεργασίας - τα slots που ορίζονται για τις εργασίες χαρτών και τη μείωση των εργασιών, για να είναι ακριβείς. Ο συνολικός αριθμός χαρτών και η μείωση των θυρίδων υποδεικνύει πόσους χάρτες και μειώνοντας τις εργασίες μπορούν να εκτελούνται ταυτόχρονα στον κόμβο υποτελούς λειτουργίας.
Όταν πρόκειται για τον συντονισμό ενός συμπλέγματος Hadoop, ο καθορισμός του βέλτιστου αριθμού χαρτών και η μείωση των slots είναι καθοριστικής σημασίας. Ο αριθμός των υποδοχών πρέπει να ρυθμιστεί προσεκτικά με βάση τους διαθέσιμους πόρους μνήμης, δίσκου και CPU σε κάθε κόμβο υποτελούς λειτουργίας. Η μνήμη είναι η πιο επικριτική από τους τρεις αυτούς πόρους από την άποψη της απόδοσης. Ως εκ τούτου, ο συνολικός αριθμός των υποδοχών εργασιών πρέπει να εξισορροπηθεί με τη μέγιστη ποσότητα μνήμης που διατίθεται στο μέγεθος σωρού Java.
Λάβετε υπόψη ότι κάθε χαρτογράφος και έργο μείωσης μειώνει τη δική του εικονική μηχανή Java (JVM) και ότι ο σωρός αντιπροσωπεύει την ποσότητα μνήμης που διατίθεται για κάθε JVM. Ο λόγος των υποδοχών χαρτών για τη μείωση των διαθέσιμων χρόνων είναι επίσης ένας σημαντικός παράγοντας.
Για παράδειγμα, αν έχετε πάρα πολλές υποδοχές χαρτών και δεν μειώνετε αρκετά τα διαθέσιμα χρονικά περιθώρια για τα φόρτα εργασίας σας, οι χάρτες θα έχουν την τάση να παραμένουν αδρανείς, ενώ οι εργασίες σας περιμένουν να υπάρχουν διαθέσιμες μειωμένες θέσεις.
Τα καθορισμένα σύνολα υποδοχών καθορίζονται για τις εργασίες χαρτών και μειώνουν τις εργασίες επειδή χρησιμοποιούν τους υπολογιστικούς πόρους αρκετά διαφορετικά.Οι χάρτες εκχωρούνται με βάση την τοποθεσία των δεδομένων και εξαρτώνται σε μεγάλο βαθμό από την είσοδο / έξοδο δίσκων και από την CPU. Οι μειώσεις των καθηκόντων ανατίθενται με βάση τη διαθεσιμότητα, όχι την τοποθεσία, και εξαρτώνται σε μεγάλο βαθμό από το εύρος ζώνης του δικτύου, επειδή πρέπει να λαμβάνουν αποτελέσματα από εργασίες χαρτών.