what is hadoop apache hadoop tutorial
Αυτός ο οδηγός Apache Hadoop για αρχάριους εξηγεί τα πάντα για το Big Data Hadoop, τα χαρακτηριστικά του, το πλαίσιο και την αρχιτεκτονική του με λεπτομέρεια:
ιστοσελίδες για να παρακολουθείτε anime αγγλικά
Στο προηγούμενο σεμινάριο, συζητήσαμε λεπτομερώς τα Big Data. Τώρα το ερώτημα είναι πώς μπορούμε να χειριστούμε και να επεξεργαστούμε έναν τόσο μεγάλο όγκο δεδομένων με αξιόπιστα και ακριβή αποτελέσματα.
Υπάρχει πράγματι μια εξαιρετική λύση που παρέχεται από το Apache και τροφοδοτείται από Java, δηλαδή. Πλαίσιο Hadoop .
=> Διαβάστε τη σειρά εκπαίδευσης Easy BigData.
Τι θα μάθετε:
Τι είναι το Hadoop;
Το Apache Hadoop είναι ένα πλαίσιο ανοιχτού κώδικα για τη διαχείριση όλων των τύπων δεδομένων (Δομημένα, Αδόμητα και Ημι-δομημένα).
Όπως όλοι γνωρίζουμε, εάν θέλουμε να επεξεργαστούμε, να αποθηκεύσουμε και να διαχειριστούμε τα δεδομένα μας, τότε το RDBMS είναι η καλύτερη λύση. Όμως, τα δεδομένα θα πρέπει να είναι σε δομημένη μορφή για να τα χειρίζονται με RDBMS. Επίσης, εάν το μέγεθος των δεδομένων αυξάνεται, τότε το RDBMS δεν είναι ικανό να το χειριστεί και πρέπει να εκτελούμε τακτικά καθαρισμό βάσης δεδομένων.
Αυτό μπορεί να προκαλέσει απώλεια ιστορικών δεδομένων και δεν μπορεί να αποφέρει ακριβή και αξιόπιστα αποτελέσματα σε ορισμένους από τους κλάδους, όπως Πρόγνωση καιρού, Τραπεζικές εργασίες, Ασφάλειες, Πωλήσεις κ.λπ. Ένα άλλο πρόβλημα με το RDBMS είναι ότι εάν ο κύριος διακομιστής πέσει τότε μπορεί να χάσουμε τα σημαντικά μας δεδομένα και υποφέρουν πολύ.
Σε αυτό το σεμινάριο, θα δούμε πώς μπορούμε να ξεπεράσουμε αυτά τα προβλήματα με το Apache Hadoop.
Το Hadoop είναι ένα κατανεμημένο σύστημα αρχείων και μπορεί να αποθηκεύσει μεγάλους όγκους δεδομένων (δεδομένα σε petabyte και terabyte). Η ταχύτητα επεξεργασίας δεδομένων είναι επίσης πολύ γρήγορη και παρέχει αξιόπιστα αποτελέσματα καθώς διαθέτει ένα πολύ υψηλό σύστημα ανοχής σφαλμάτων.
Το Hadoop είναι ένα πλαίσιο προγραμματισμού ανοιχτού κώδικα βασισμένο σε Java που υποστηρίζει την αποθήκευση και την επεξεργασία συνόλων μεγάλων δεδομένων σε ένα κατανεμημένο περιβάλλον υπολογιστών.
Το Hadoop βασίζεται σε ένα Cluster Concept που χρησιμοποιεί βασικό υλικό. Δεν απαιτεί πολύπλοκες ρυθμίσεις και μπορούμε να δημιουργήσουμε το περιβάλλον Hadoop με φθηνότερο, απλό και ελαφρύ υλικό διαμόρφωσης.
Η έννοια του συμπλέγματος με απλές λέξεις είναι τα Δεδομένα που αποθηκεύονται σε μορφή αναπαραγωγής σε πολλούς υπολογιστές, έτσι ώστε όταν συμβαίνει οποιοδήποτε ζήτημα ή καταστροφή σε μία από τις τοποθεσίες όπου βρίσκονται τα δεδομένα, τότε πρέπει να υπάρχει ένα αντίγραφο αντιγράφων αυτών των δεδομένων που να διατίθενται με ασφάλεια σε άλλη τοποθεσία .
Hadoop Vs RDMBS
Παρακάτω αναφέρονται ορισμένα σημεία που περιγράφουν τα πλεονεκτήματα του Hadoop έναντι του RDBMS.
Χαρακτηριστικά | Χάδοπ | RDBMS |
---|---|---|
Αποθήκευση | Πολύ υψηλή χωρητικότητα αποθήκευσης. | Δεν είναι δυνατή η αποθήκευση των Bigdata. |
Αρχιτεκτονική | Το Hadoop βασίζεται σε HDFS, MapReduce και YARN. | Το RDBMS βασίζεται σε ιδιότητες ACID. |
Ενταση ΗΧΟΥ | Μπορεί να χειριστεί μεγάλο όγκο δεδομένων. | Το RDBMS δεν μπορεί να χειριστεί μεγάλο όγκο δεδομένων. |
Ποικιλία / Τύποι Δεδομένων | Μπορεί να χειριστεί δομημένα, ημι-δομημένα και μη δομημένα δεδομένα όπως βίντεο, εικόνες, αρχεία CSV, xml κ.λπ. | Διαχειριστείτε μόνο δομημένα δεδομένα. |
Ταχύτητα | Γρήγορη επεξεργασία δεδομένων μεγάλου όγκου. | Πολύ αργή κατά την επεξεργασία μεγάλου όγκου δεδομένων. |
Διακίνηση | Υψηλή απόδοση. | Χαμηλή απόδοση. |
Ανοχή σε σφάλματα | Πολύ καλά | Δεν είναι σε θέση να ανακτήσει χαμένα δεδομένα εάν ο κύριος διακομιστής πέσει. |
Αξιόπιστος | Πολύ αξιόπιστο και δημιουργεί ακριβείς ιστορικές και τρέχουσες αναφορές. | Δεν είναι αξιόπιστο από την άποψη των Bigdata. |
Χαρακτηριστικά Hadoop
Γνωρίζουμε τώρα τον ακριβή ορισμό του Hadoop. Ας προχωρήσουμε ένα βήμα μπροστά και να εξοικειωθούμε με τις ορολογίες που χρησιμοποιούμε στο Hadoop, να μάθουμε την αρχιτεκτονική του και να δούμε πώς ακριβώς λειτουργεί στα Bigdata.
Το πλαίσιο Hadoop βασίζεται στις ακόλουθες έννοιες ή ενότητες:
- Hadoop ΝΕΟ
- Κοινός Hadoop
- Hadoop HDFS ( Η παρακαλώ ρε αποδίδεται φά με μικρό ystem)
- Hadoop MapReduce
# 1) ΧΑΝΤΟΠ ΝΑΡΝ: Το YARN σημαίνει « Γ και ΠΡΟΣ ΤΗΝ νωρίτερα Ρ πηγή Ν egotiator »που χρησιμοποιείται για τη διαχείριση της τεχνολογίας συμπλέγματος του cloud. Χρησιμοποιείται για προγραμματισμό εργασιών.
# 2) Hadoop Common: Πρόκειται για τις λεπτομερείς βιβλιοθήκες ή βοηθητικά προγράμματα που χρησιμοποιούνται για την επικοινωνία με τις άλλες δυνατότητες του Hadoop όπως το YARN, το MapReduce και το HDFS.
# 3) Hadoop HDFS: Το σύστημα κατανεμημένου αρχείου χρησιμοποιείται στο Hadoop για αποθήκευση και επεξεργασία μεγάλου όγκου δεδομένων. Επίσης, χρησιμοποιείται για πρόσβαση στα δεδομένα από το σύμπλεγμα.
# 4) Hadoop MapReduce: Το MapReduce είναι το κύριο χαρακτηριστικό του Hadoop που είναι υπεύθυνο για την επεξεργασία δεδομένων στο σύμπλεγμα. Χρησιμοποιεί για προγραμματισμό εργασιών και παρακολούθηση της επεξεργασίας δεδομένων.
Εδώ, μόλις συμπεριλάβαμε τον ορισμό αυτών των δυνατοτήτων, αλλά θα δούμε μια λεπτομερή περιγραφή όλων αυτών των λειτουργιών στα επερχόμενα σεμινάρια μας.
Αρχιτεκτονική Hadoop
Ας μάθουμε την αρχιτεκτονική του πλαισίου και να δούμε ποια στοιχεία χρησιμοποιούνται σε αυτό. Αυτό το πλαίσιο ακολουθεί μια αρχιτεκτονική master-slave στο σύμπλεγμα.
Ακολουθούν τα στοιχεία Hadoop:
- HDFS
- ΜΕΙΩΣΗ ΧΑΡΤΗ
- ΝΗΜΑ
Αυτά είναι τα τρία σημαντικά στοιχεία της αρχιτεκτονικής Hadoop. Πρέπει επίσης να κατανοήσουμε μερικές από τις ορολογίες ή τις έννοιες της Αρχιτεκτονικής και να δούμε πώς λειτουργούν.
- Όνομα κόμβος
- Κόμβος δεδομένων
- Κόμβος δευτερεύοντος ονόματος
- Μπλοκ
# 1) Κόμβος ονόματος
Όνομα κόμβος είναι ο κύριος κόμβος σε HDFS. Περιέχει μεταδεδομένα HDFS όπως πληροφορίες αρχείου, δομή καταλόγου, πληροφορίες μπλοκ και όλες τις πληροφορίες του Δεδομένου κόμβου κ.λπ. Ο Όνομα κόμβου είναι υπεύθυνος μόνο για την πρόσβαση στα δεδομένα ή τα αρχεία από τον πελάτη. Παρακολουθεί όλες τις συναλλαγές ή τις αλλαγές που γίνονται σε αρχεία.
Λειτουργεί κυρίως σε δύο αρχεία, δηλαδή FsImage και Επεξεργασία Logs . Το Name Node έχει JobTracker που περιέχει όλες τις λεπτομέρειες του Data Node, όπως το Data Node έχει ποια εργασία, πόσα μπλοκ υπάρχουν με κάθε κόμβο δεδομένων, τον καρδιακό παλμό κάθε κόμβου δεδομένων, λεπτομέρειες προγραμματισμού εργασίας στο σύμπλεγμα κ.λπ.
Εν ολίγοις, μπορούμε να πούμε ότι ένα JobTracker περιέχει TaskTracker κάθε κόμβου δεδομένων.
# 2) Κόμβος δεδομένων
Data Node είναι ο Slave Node σε HDFS. Ο Κόμβος Δεδομένων είναι υπεύθυνος για την πραγματική αποθήκευση και επεξεργασία δεδομένων. Ο κύριος στόχος του είναι να χωρίσει την εργασία σε τρία μπλοκ και να την αποθηκεύσει σε διαφορετικούς κόμβους δεδομένων. Μετά από αυτό ξεκινά η επεξεργασία των δεδομένων.
Επίσης, έχει TaskTracker το οποίο έχει πλήρεις πληροφορίες για κάθε μπλοκ και ποιο μπλοκ είναι υπεύθυνο για ποια εργασία, ποια μπλοκ ολοκλήρωσε την εργασία κ.λπ. και μετά την επεξεργασία των δεδομένων στέλνει τις πληροφορίες στο Όνομα κόμβου. Κάθε φορά που ξεκινά ο κόμβος δεδομένων στέλνει πάλι όλες τις πληροφορίες στον Όνομα κόμβου.
# 3) Δεύτερος κόμβος ονόματος
Ο δευτερεύων κόμβος ονόματος χρησιμοποιείται σε περίπτωση ανοχής σφαλμάτων. Υπάρχουν δύο σενάρια όπου το Name Node είναι κάτω και η πλήρης δομή Hadoop θα αποτύχει επειδή το Name Node είναι το μοναδικό σημείο αποτυχίας.
(i) Εάν ο κόμβος ονόματος επανεκκινηθεί λόγω οποιουδήποτε ζητήματος από ό, τι χρειάστηκε για να εμφανιστεί ξανά καθώς έχει τεράστιο όγκο δεδομένων, τότε για να ανακτήσετε ότι χρειάζεται χρόνος.
(ii) Σε περίπτωση συντριβής του Name Node, όλα τα δεδομένα HDFS θα χάσουν και δεν μπορούν να τα ανακτήσουν ξανά, καθώς το Name Node είναι το μοναδικό σημείο αποτυχίας. Έτσι, για να ξεπεραστούν αυτά τα ζητήματα, ο δευτερεύων κόμβος ονόματος είναι εκεί. Περιέχει επίσης μια εικόνα του χώρου ονομάτων και τα αρχεία καταγραφής Επεξεργασίας το ίδιο με το όνομα κόμβου.
Μετά από μια συγκεκριμένη περίοδο, θα αντιγράψει την εικόνα του χώρου ονομάτων και θα ενημερώσει τα αρχεία καταγραφής επεξεργασίας από τον κόμβο ονόματος. Επομένως, σε περίπτωση αποτυχίας κόμβου ονόματος, ο δευτερεύων κόμβος ονόματος εμφανίζεται στην εικόνα και συμπεριφέρεται όπως ο κύριος κόμβος ονόματος. Λόγω αυτής της διαδικασίας, αποτρέπει την πλήρη αποτυχία.
# 4) Μπλοκ
Τα μπλοκ είναι η μικρότερη μονάδα στο HDFS. Το Hadoop μπορεί να επεξεργαστεί ένα τεράστιο ποσό αρχείου καθώς το διαιρεί σε μικρά μπλοκ. Μπορούμε να πούμε ότι τα μπλοκ δεν είναι τίποτα άλλο από τα δεδομένα ενός τεράστιου αρχείου. Το μέγεθος κάθε μπλοκ είναι 128MB. Αυτά τα μπλοκ αποθηκεύονται σε κόμβους δεδομένων και επεξεργάζονται τα δεδομένα.
Τώρα, ας μάθουμε την αρχιτεκτονική του Hadoop για να κατανοήσουμε τη λειτουργία του.
Το κατανεμημένο σύστημα αρχείων Hadoop (HDFS) είναι το σύστημα αρχείων που χρησιμοποιείται στο σύμπλεγμα Hadoop. Κυρίως το HDFS χρησιμοποιείται για την αποθήκευση δεδομένων Hadoop στο σύμπλεγμα. Το HDFS εργάζεται γενικά για τη διαδοχική επεξεργασία δεδομένων. Όπως ήδη γνωρίζουμε βασίζεται στην αρχιτεκτονική Master-Slave.
Όλα τα μεταδεδομένα του συμπλέγματος αποθηκεύονται στον κόμβο ονόματος στο JobTracker και τα πραγματικά δεδομένα αποθηκεύονται στον κόμβο δεδομένων του HDFS στο TaskTracker.
Το MapReduce είναι υπεύθυνο για την επεξεργασία δεδομένων. Κάθε φορά που οποιοδήποτε αρχείο μπαίνει στο σύμπλεγμα για επεξεργασία, τότε ο πρώτος κόμβος δεδομένων το χωρίζει σε μπλοκ και κάθε μπλοκ περιέχει 64MB δεδομένων και θα μπορούσε να αποθηκεύσει 128MB. Στη συνέχεια, κάθε μπλοκ θα αναπαραχθεί δύο φορές και θα αποθηκευτεί σε διαφορετικούς κόμβους δεδομένων οπουδήποτε στο σύμπλεγμα.
Όλες αυτές οι πληροφορίες θα σταλούν στον Όνομα κόμβου και ο Όνομα κόμβου θα αποθηκεύσει αυτές τις πληροφορίες με τη μορφή μεταδεδομένων. Στη συνέχεια, η πραγματική επεξεργασία των δεδομένων θα ξεκινήσει τον Κόμβο Δεδομένων και θα στέλνει έναν καρδιακό παλμό στον Κόμβο Όνομα κάθε τρία δευτερόλεπτα, έτσι ώστε ο Όνομα Δεδομένου να έχει τις πληροφορίες στις οποίες αυτός ο Κόμβος Δεδομένων λειτουργεί.
Αν κάποιος από τους κόμβους δεδομένων αποτύχει στην αποστολή καρδιακού παλμού, τότε ο Όνομα κόμβου δημιουργεί ξανά το αντίγραφο αυτού του μπλοκ σε έναν άλλο κόμβο δεδομένων και ξεκινά την επεξεργασία.
Όλες αυτές οι πληροφορίες ή στιγμιότυπα θα αποθηκευτούν στο FsImage και εάν πραγματοποιηθεί οποιαδήποτε συναλλαγή, τότε επεξεργαστείτε το αρχείο καταγραφής συγχωνεύστε τις νέες πληροφορίες και διατηρείτε πάντα ένα νέο αντίγραφο των αρχείων καταγραφής.
Το μπλοκ που ολοκληρώνει την εργασία πρώτα θα ληφθεί και ο Κόμβος Δεδομένων στέλνει πληροφορίες στον Όνομα Κόμβου και Ο Όνομα Όνομα θα αναλάβει την ενέργεια ανάλογα.
Σε όλη αυτή τη διαδικασία, το YARN θα υποστηρίξει και θα παρέχει τους απαιτούμενους πόρους στο σύστημα, έτσι ώστε να μην επηρεάζει την επεξεργασία δεδομένων και την ταχύτητα. Μετά την επεξεργασία των δεδομένων, τα αποτελέσματα θα αποθηκευτούν σε HDFS για περαιτέρω ανάλυση.
συμπέρασμα
Σε αυτό το σεμινάριο, μάθαμε τι είναι Hadoop, διαφορές μεταξύ RDBMS έναντι Hadoop, Advantages, Components και Architecture of Hadoop.
Αυτό το πλαίσιο είναι υπεύθυνο για την επεξεργασία μεγάλων δεδομένων και την ανάλυσή τους. Είδαμε ότι το MapReduce, το YARN και το HDFS λειτουργούν στο σύμπλεγμα.
Σημείωση: Ακολουθούν οι λεπτομέρειες διαμόρφωσης του κόμβου ονόματος και του κόμβου δεδομένων. Ο δευτερεύων κόμβος ονόματος θα έχει την ίδια διαμόρφωση με τον κόμβο ονόματος.
Διαμόρφωση κόμβου ονόματος:
Επεξεργαστές: 2 CPU Quad Core που εκτελούν @ 2 GHz
RAM: 128 GB
Δίσκος: 6 x 1TB SATA
Δίκτυο: 10 Gigabit Ethernet
Διαμόρφωση κόμβου δεδομένων:
Επεξεργαστές: 2 CPU Quad Core που εκτελούν @ 2 GHz
RAM: 64 GB
Δίσκος: 12-24 x 1TB SATA
Δίκτυο: 10 Gigabit Ethernet
=> Ρίξτε μια ματιά στον οδηγό Big Data Beginners εδώ.
Συνιστώμενη ανάγνωση
- Big Data Tutorial για αρχάριους | Τι είναι τα Big Data;
- 20+ MongoDB Tutorial για αρχάριους: Δωρεάν μαθήματα MongoDB
- Πώς να ρυθμίσετε το Node.js Testing Framework: Node.js Tutorial
- Tutorial Data Mart - Τύποι, παραδείγματα & υλοποίηση του Data Mart
- Εκμάθηση έκλειψης σε βάθος για αρχάριους
- Εκμάθηση Python για αρχάριους (ΔΩΡΕΑΝ Κατάρτιση Python)
- Πλαίσιο βάσει δεδομένων στο Selenium WebDriver με χρήση Apache POI
- Εκπαιδευτικό πρόγραμμα LoadRunner για αρχάριους (δωρεάν μάθημα 8 ημερών σε βάθος)