Τι είναι το Hadoop; Εισαγωγή, Archiδομή, Οικοσύστημα, Εξαρτήματα
Τι είναι το Hadoop;
Το Apache Hadoop είναι ένα πλαίσιο λογισμικού ανοιχτού κώδικα που χρησιμοποιείται για την ανάπτυξη εφαρμογών επεξεργασίας δεδομένων που εκτελούνται σε ένα κατανεμημένο υπολογιστικό περιβάλλον.
Οι εφαρμογές που δημιουργούνται με χρήση HADOOP εκτελούνται σε μεγάλα σύνολα δεδομένων που κατανέμονται σε ομάδες υπολογιστών βασικών προϊόντων. Οι υπολογιστές βασικών προϊόντων είναι φθηνοί και ευρέως διαθέσιμοι. Αυτά είναι κυρίως χρήσιμα για την επίτευξη μεγαλύτερης υπολογιστικής ισχύος με χαμηλό κόστος.
Παρόμοια με τα δεδομένα που βρίσκονται σε ένα τοπικό σύστημα αρχείων ενός συστήματος προσωπικού υπολογιστή, στο Hadoop, τα δεδομένα βρίσκονται σε ένα κατανεμημένο σύστημα αρχείων που ονομάζεται Σύστημα κατανεμημένων αρχείων Hadoop. Το μοντέλο επεξεργασίας βασίζεται σε "Τοπικότητα δεδομένων" έννοια όπου η υπολογιστική λογική αποστέλλεται σε κόμβους συμπλέγματος (διακομιστή) που περιέχουν δεδομένα. Αυτή η υπολογιστική λογική δεν είναι τίποτα, αλλά μια μεταγλωττισμένη έκδοση ενός προγράμματος γραμμένου σε μια γλώσσα υψηλού επιπέδου όπως π.χ. Java. Ένα τέτοιο πρόγραμμα επεξεργάζεται δεδομένα που είναι αποθηκευμένα σε Hadoop HDFS.
Γνωρίζεις? Το σύμπλεγμα υπολογιστών αποτελείται από ένα σύνολο πολλαπλών μονάδων επεξεργασίας (δίσκος αποθήκευσης + επεξεργαστής) οι οποίες συνδέονται μεταξύ τους και λειτουργούν ως ένα ενιαίο σύστημα.
Hadoop EcoSystem and Components
Το παρακάτω διάγραμμα δείχνει διάφορα στοιχεία στο οικοσύστημα Hadoop-
Το Apache Hadoop αποτελείται από δύο υποέργα –
- Hadoop MapReduce: Το MapReduce είναι ένα υπολογιστικό μοντέλο και ένα πλαίσιο λογισμικού για τη σύνταξη εφαρμογών που εκτελούνται στο Hadoop. Αυτά τα προγράμματα MapReduce είναι ικανά να επεξεργάζονται τεράστια δεδομένα παράλληλα σε μεγάλα συμπλέγματα υπολογιστικών κόμβων.
- ΚΑΕ (Διανεμημένο σύστημα αρχείων Hadoop): Το HDFS φροντίζει για το κομμάτι αποθήκευσης των εφαρμογών Hadoop. Οι εφαρμογές MapReduce καταναλώνουν δεδομένα από το HDFS. Το HDFS δημιουργεί πολλαπλά αντίγραφα μπλοκ δεδομένων και τα διανέμει σε υπολογιστικούς κόμβους σε ένα σύμπλεγμα. Αυτή η κατανομή επιτρέπει αξιόπιστους και εξαιρετικά γρήγορους υπολογισμούς.
Αν και το Hadoop είναι περισσότερο γνωστό για το MapReduce και το κατανεμημένο σύστημα αρχείων του - HDFS, ο όρος χρησιμοποιείται επίσης για μια οικογένεια σχετικών έργων που εμπίπτουν στην ομπρέλα του κατανεμημένου υπολογισμού και της επεξεργασίας δεδομένων μεγάλης κλίμακας. Άλλα έργα που σχετίζονται με το Hadoop στο Apache περιλαμβάνουν είναι Hive, HBase, Mahout, Sqoop, Flume και ZooKeeper.
Hadoop Archiδομή
Ο Hadoop έχει έναν Master-Slave Archiτεχνολογία για αποθήκευση δεδομένων και κατανεμημένη επεξεργασία δεδομένων χρησιμοποιώντας ΜΕΙΩΣΗ ΧΑΡΤΗ και τις μεθόδους HDFS.
NameNode:
Το NameNode αντιπροσώπευε κάθε αρχείο και κατάλογο που χρησιμοποιείται στον χώρο ονομάτων
DataNode:
Το DataNode σάς βοηθά να διαχειριστείτε την κατάσταση ενός κόμβου HDFS και σας επιτρέπει να αλληλεπιδράτε με τα μπλοκ
MasterNode:
Ο κύριος κόμβος σάς επιτρέπει να διεξάγετε παράλληλη επεξεργασία δεδομένων χρησιμοποιώντας το Hadoop MapReduce.
Σκλάβος κόμβος:
Οι υποτελείς κόμβοι είναι οι πρόσθετες μηχανές στο σύμπλεγμα Hadoop που σας επιτρέπει να αποθηκεύετε δεδομένα για να διεξάγετε σύνθετους υπολογισμούς. Επιπλέον, όλος ο slave κόμβος συνοδεύεται από Task Tracker και DataNode. Αυτό σας επιτρέπει να συγχρονίσετε τις διεργασίες με το NameNode και το Job Tracker αντίστοιχα.
Στο Hadoop, το master ή το slave σύστημα μπορεί να ρυθμιστεί στο cloud ή εντός εγκατάστασης
Χαρακτηριστικά του 'Hadoop'
• Κατάλληλο για ανάλυση μεγάλων δεδομένων
Καθώς τα Μεγάλα Δεδομένα τείνουν να είναι κατανεμημένα και αδόμητα στη φύση, τα συμπλέγματα HADOOP είναι τα πλέον κατάλληλα για ανάλυση Μεγάλων Δεδομένων. Δεδομένου ότι είναι η λογική επεξεργασίας (όχι τα πραγματικά δεδομένα) που ρέει στους κόμβους υπολογιστών, καταναλώνεται λιγότερο εύρος ζώνης δικτύου. Αυτή η έννοια ονομάζεται ως έννοια της τοποθεσίας δεδομένων που βοηθά στην αύξηση της αποτελεσματικότητας των εφαρμογών που βασίζονται στο Hadoop.
• Επεκτασιμότητα
Τα συμπλέγματα HADOOP μπορούν εύκολα να κλιμακωθούν σε οποιοδήποτε βαθμό προσθέτοντας επιπλέον κόμβους συμπλέγματος και έτσι επιτρέπει την ανάπτυξη Μεγάλων Δεδομένων. Επίσης, η κλιμάκωση δεν απαιτεί τροποποιήσεις στη λογική της εφαρμογής.
• Ανοχή σε σφάλματα
Το οικοσύστημα HADOOP έχει μια διάταξη για την αναπαραγωγή των δεδομένων εισόδου σε άλλους κόμβους συμπλέγματος. Με αυτόν τον τρόπο, σε περίπτωση αποτυχίας ενός κόμβου συμπλέγματος, η επεξεργασία δεδομένων μπορεί να συνεχιστεί χρησιμοποιώντας δεδομένα που είναι αποθηκευμένα σε έναν άλλο κόμβο συμπλέγματος.
Τοπολογία Δικτύου στο Hadoop
Τοπολογία (Διαρρύθμιση) του δικτύου, επηρεάζει την απόδοση του συμπλέγματος Hadoop όταν μεγαλώνει το μέγεθος του συμπλέγματος Hadoop. Εκτός από τις επιδόσεις, χρειάζεται επίσης να νοιάζεται κανείς για την υψηλή διαθεσιμότητα και τον χειρισμό των αστοχιών. Για να επιτευχθεί αυτό το Hadoop, ο σχηματισμός συμπλέγματος χρησιμοποιεί την τοπολογία του δικτύου.
Συνήθως, το εύρος ζώνης δικτύου είναι ένας σημαντικός παράγοντας που πρέπει να ληφθεί υπόψη κατά τη δημιουργία οποιουδήποτε δικτύου. Ωστόσο, καθώς η μέτρηση του εύρους ζώνης μπορεί να είναι δύσκολη, στο Hadoop, ένα δίκτυο αναπαρίσταται ως δέντρο και η απόσταση μεταξύ των κόμβων αυτού του δέντρου (αριθμός λυκίσκου) θεωρείται σημαντικός παράγοντας για το σχηματισμό του συμπλέγματος Hadoop. Εδώ, η απόσταση μεταξύ δύο κόμβων είναι ίση με το άθροισμα της απόστασής τους από τον πλησιέστερο κοινό πρόγονό τους.
Το σύμπλεγμα Hadoop αποτελείται από ένα κέντρο δεδομένων, το rack και τον κόμβο που στην πραγματικότητα εκτελεί εργασίες. Εδώ, το κέντρο δεδομένων αποτελείται από rack και το rack αποτελείται από κόμβους. Το εύρος ζώνης δικτύου που είναι διαθέσιμο στις διεργασίες ποικίλλει ανάλογα με τη θέση των διεργασιών. Δηλαδή, το διαθέσιμο εύρος ζώνης γίνεται μικρότερο όσο φεύγουμε από-
- Διεργασίες στον ίδιο κόμβο
- Διαφορετικοί κόμβοι στο ίδιο ράφι
- Κόμβοι σε διαφορετικά rack του ίδιου κέντρου δεδομένων
- Κόμβοι σε διαφορετικά κέντρα δεδομένων