what is hadoop apache hadoop tutorial
Dieses Apache Hadoop-Tutorial für Anfänger erklärt alles über Big Data Hadoop, seine Funktionen, sein Framework und seine Architektur im Detail:
Was ist Rauchprüfung und Sanitätsprüfung
Im vorherigen Tutorial haben wir Big Data ausführlich besprochen. Die Frage ist nun, wie wir mit einem so großen Datenvolumen mit zuverlässigen und genauen Ergebnissen umgehen und es verarbeiten können.
Es gibt in der Tat eine großartige Lösung, die von Apache bereitgestellt und von Java unterstützt wird, d. H. Hadoop Framework .
=> Lesen Sie die Easy BigData-Schulungsserie durch.
Was du lernen wirst:
Was ist Hadoop?
Apache Hadoop ist ein Open-Source-Framework zur Verwaltung aller Arten von Daten (strukturiert, unstrukturiert und halbstrukturiert).
Wie wir alle wissen, ist RDBMS die beste Lösung, wenn wir unsere Daten verarbeiten, speichern und verwalten möchten. Daten sollten jedoch in einem strukturierten Format vorliegen, um sie mit RDBMS verarbeiten zu können. Wenn die Datengröße zunimmt, kann RDBMS diese nicht verarbeiten, und wir müssen regelmäßig eine Datenbankbereinigung durchführen.
Dies kann zu historischen Datenverlusten führen und kann in einigen Branchen wie Wettervorhersage, Banken, Versicherungen, Vertrieb usw. keine genauen und zuverlässigen Ergebnisse liefern. Ein weiteres Problem bei RDBMS besteht darin, dass wir bei einem Ausfall des Hauptservers möglicherweise unsere wichtigen Daten verlieren Daten und leiden viel.
In diesem Tutorial werden wir sehen, wie wir diese Probleme mit Apache Hadoop überwinden können.
Hadoop ist ein verteiltes Dateisystem und kann große Datenmengen (Daten in Petabyte und Terabyte) speichern. Die Datenverarbeitungsgeschwindigkeit ist ebenfalls sehr schnell und liefert zuverlässige Ergebnisse, da sie ein sehr hohes Fehlertoleranzsystem aufweist.
Hadoop ist ein Java-basiertes Open-Source-Programmierframework, das das Speichern und Verarbeiten großer Datenmengen in einer verteilten Computerumgebung unterstützt.
Hadoop basiert auf einem Cluster-Konzept unter Verwendung von Standardhardware. Es erfordert keine komplexe Konfiguration und wir können die Hadoop-Umgebung mit billigerer, einfacher und leichter Konfigurationshardware einrichten.
Das Cluster-Konzept in einfachen Worten sind die Daten, die im Replikationsformat auf mehreren Computern gespeichert sind. Wenn also ein Problem oder eine Katastrophe an einem der Standorte auftritt, an denen sich die Daten befinden, muss eine doppelte Kopie dieser Daten sicher an einem anderen Speicherort verfügbar sein .
Hadoop gegen RDMBS
Nachfolgend sind einige Punkte aufgeführt, die die Vorteile von Hadoop gegenüber RDBMS beschreiben.
Eigenschaften | Hadoop | RDBMS |
---|---|---|
Lager | Sehr hohe Speicherkapazität. | Bigdata kann nicht gespeichert werden. |
Die Architektur | Hadoop basiert auf HDFS, MapReduce und YARN. | RDBMS basiert auf ACID-Eigenschaften. |
Volumen | Kann große Datenmengen verarbeiten. | RDBMS kann keine großen Datenmengen verarbeiten. |
Vielfalt / Arten von Daten | Kann strukturierte, halbstrukturierte und unstrukturierte Daten wie Videos, Bilder, CSV-Dateien, XML usw. verarbeiten. | Behandeln Sie nur strukturierte Daten. |
Geschwindigkeit | Schnelle Verarbeitung großer Datenmengen. | Sehr langsam bei der Verarbeitung großer Datenmengen. |
Durchsatz | Hoher Durchsatz. | Geringer Durchsatz. |
Fehlertoleranz | Sehr gut | Verlorene Daten können nicht wiederhergestellt werden, wenn der Hauptserver ausfällt. |
Zuverlässig | Sehr zuverlässig und generieren genaue historische und aktuelle Berichte. | Nicht zuverlässig in Bezug auf Bigdata. |
Hadoop-Funktionen
Wir kennen jetzt die genaue Definition von Hadoop. Lassen Sie uns einen Schritt vorwärts gehen und uns mit den in Hadoop verwendeten Terminologien vertraut machen, die Architektur kennenlernen und sehen, wie genau sie mit Bigdata funktioniert.
Das Hadoop-Framework basiert auf den folgenden Konzepten oder Modulen:
- Hadoop Garn
- Hadoop Common
- Hadoop HDFS ( H. adoop D. verteilt wird F. mit S. ystem)
- Hadoop MapReduce
# 1) Hadoop-GARN: YARN steht für “ Y. und ZU nicht weiter R. esource N. egotiator “, mit dem die Clustertechnologie der Cloud verwaltet wird. Es wird für die Jobplanung verwendet.
# 2) Hadoop Common: Dies sind die detaillierten Bibliotheken oder Dienstprogramme, die für die Kommunikation mit anderen Funktionen von Hadoop wie YARN, MapReduce und HDFS verwendet werden.
# 3) Hadoop HDFS: Das verteilte Dateisystem wird in Hadoop zum Speichern und Verarbeiten eines großen Datenvolumens verwendet. Es wird auch verwendet, um auf die Daten aus dem Cluster zuzugreifen.
# 4) Hadoop MapReduce: MapReduce ist die Hauptfunktion von Hadoop, die für die Verarbeitung der Daten im Cluster verantwortlich ist. Es wird zur Auftragsplanung und Überwachung der Datenverarbeitung verwendet.
Hier haben wir gerade die Definition dieser Funktionen aufgenommen, aber eine detaillierte Beschreibung all dieser Funktionen finden Sie in unseren kommenden Tutorials.
Hadoop-Architektur
Lassen Sie uns die Architektur des Frameworks kennenlernen und sehen, welche Komponenten darin verwendet werden. Dieses Framework folgt einer Master-Slave-Architektur im Cluster.
Im Folgenden sind die Hadoop-Komponenten aufgeführt:
- HDFS
- Karte verkleinern
- GARN
Dies sind die drei wichtigen Komponenten der Hadoop-Architektur. Wir sollten auch einige der Terminologien oder Konzepte der Architektur verstehen und sehen, wie sie funktionieren.
- Namensknoten
- Datenknoten
- Sekundärer Namensknoten
- Blöcke
# 1) Namensknoten
Der Namensknoten ist der Hauptknoten in HDFS. Es enthält HDFS-Metadaten wie Dateiinformationen, Verzeichnisstruktur, Blockinformationen und alle Informationen des Datenknotens usw. Der Namensknoten ist nur für den Daten- oder Dateizugriff vom Client verantwortlich. Es verfolgt alle Transaktionen oder Änderungen, die in Dateien vorgenommen wurden.
Es funktioniert hauptsächlich mit zwei Dateien, d.h. FsImage und EditLogs . Der Namensknoten verfügt über einen JobTracker, der alle Details des Datenknotens enthält, z. B. welcher Datenknoten welche Aufgabe hat, wie viele Blöcke mit jedem Datenknoten vorhanden sind, den Herzschlag jedes Datenknotens, Details zur Jobplanung im Cluster usw.
Kurz gesagt, wir können sagen, dass ein JobTracker den TaskTracker jedes Datenknotens enthält.
# 2) Datenknoten
Der Datenknoten ist der Slave-Knoten in HDFS. Data Node ist für die eigentliche Speicherung und Verarbeitung der Daten verantwortlich. Die Hauptaufgabe besteht darin, den Job in drei Blöcke zu unterteilen und diese in verschiedenen Datenknoten zu speichern. Danach beginnt die Verarbeitung der Daten.
Außerdem verfügt es über TaskTracker, der vollständige Informationen zu jedem Block enthält und welcher Block für welche Aufgabe verantwortlich ist, welche Blöcke die Aufgabe abgeschlossen haben usw. Nach der Verarbeitung der Daten werden die Informationen an den Namensknoten gesendet. Bei jedem Start des Datenknotens werden alle Informationen erneut an den Namensknoten gesendet.
# 3) Sekundärer Namensknoten
Bei Fehlertoleranz wird der sekundäre Namensknoten verwendet. Es gibt zwei Szenarien, in denen der Namensknoten ausgefallen ist und die vollständige Hadoop-Struktur fehlschlägt, da der Namensknoten der einzige Fehlerpunkt ist.
(i) Wenn der Namensknoten aufgrund eines Problems neu gestartet wird, bevor er erneut angezeigt wird, da er über eine große Datenmenge verfügt, dauert es einige Zeit, bis er wiederhergestellt ist.
(ii) Im Falle eines Absturzes des Namensknotens gehen alle HDFS-Daten verloren und können nicht wieder hergestellt werden, da der Namensknoten der einzige Fehlerpunkt ist. Um diese Probleme zu lösen, ist der sekundäre Namensknoten vorhanden. Es enthält auch ein Namespace-Image und Bearbeitungsprotokolle wie der Namensknoten.
Nach einer bestimmten Zeit wird das Namespace-Image kopiert und die Bearbeitungsprotokolle vom Namensknoten aktualisiert. Im Falle eines Namensknotenfehlers kommt daher der sekundäre Namensknoten ins Bild und verhält sich wie der primäre Namensknoten. Aufgrund dieses Prozesses wird ein Totalausfall verhindert.
# 4) Blöcke
Blöcke sind die kleinste Einheit im HDFS. Hadoop kann eine große Menge an Dateien verarbeiten, indem es sie in kleine Blöcke unterteilt. Wir können sagen, dass Blöcke nichts anderes als die Daten einer riesigen Datei sind. Die Größe jedes Blocks beträgt 128 MB. Diese Blöcke werden in Datenknoten gespeichert und verarbeiten die Daten.
Lassen Sie uns nun die Architektur des Hadoop kennenlernen, um seine Funktionsweise zu verstehen.
Hadoop Distributed File System (HDFS) ist das Dateisystem, das im Hadoop-Cluster verwendet wird. Hauptsächlich wird HDFS zum Speichern von Hadoop-Daten im Cluster verwendet. HDFS arbeitet im Allgemeinen an der sequentiellen Datenverarbeitung. Wie wir bereits wissen, basiert es auf der Master-Slave-Architektur.
Alle Metadaten des Clusters werden auf dem Namensknoten im JobTracker gespeichert und die tatsächlichen Daten werden auf dem Datenknoten des HDFS im TaskTracker gespeichert.
MapReduce ist für die Verarbeitung der Daten verantwortlich. Wenn eine Datei zur Verarbeitung in den Cluster gelangt, wird sie vom ersten Datenknoten in Blöcke unterteilt. Jeder Block enthält 64 MB Daten und kann 128 MB speichern. Dann wird jeder Block zweimal repliziert und an verschiedenen Stellen im Cluster gespeichert.
Alle diese Informationen werden an den Namensknoten gesendet, und der Namensknoten speichert diese Informationen in Form von Metadaten. Dann startet die eigentliche Verarbeitung der Daten den Datenknoten und sendet alle drei Sekunden einen Herzschlag an den Namensknoten, sodass der Namensknoten die Informationen enthält, an denen dieser Datenknoten arbeitet.
Wenn einer der Datenknoten beim Senden des Heartbeats fehlschlägt, erstellt der Namensknoten erneut die Replik dieses Blocks auf einem anderen Datenknoten und beginnt mit der Verarbeitung.
Alle diese Informationen oder Snapshots werden in FsImage gespeichert. Wenn eine Transaktion ausgeführt wird, führt das Bearbeitungsprotokoll die neuen Informationen zusammen und führt immer eine neue Kopie der Protokolle.
Der Block, der die Aufgabe zuerst beendet, wird ausgeführt, und der Datenknoten sendet Informationen an den Namensknoten, und der Namensknoten führt die entsprechende Aktion aus.
In diesem gesamten Prozess unterstützt YARN das System und stellt ihm die erforderlichen Ressourcen zur Verfügung, sodass die Datenverarbeitung und die Geschwindigkeit nicht beeinträchtigt werden. Nach der Verarbeitung der Daten werden die Ergebnisse zur weiteren Analyse in HDFS gespeichert.
Fazit
In diesem Tutorial haben wir gelernt, was Hadoop ist, Unterschiede zwischen RDBMS und Hadoop, Vorteile, Komponenten und Architektur von Hadoop.
Dieses Framework ist für die Verarbeitung und Analyse von Big Data verantwortlich. Wir haben gesehen, dass MapReduce, YARN und HDFS im Cluster arbeiten.
Hinweis: Im Folgenden sind die Konfigurationsdetails des Namensknotens und des Datenknotens aufgeführt. Der sekundäre Namensknoten hat dieselbe Konfiguration wie der Namensknoten.
Konfiguration des Namensknotens:
Prozessoren: 2 Quad-Core-CPUs mit 2 GHz
RAM: 128 GB
Festplatte: 6 x 1 TB SATA
Netzwerk: 10 Gigabit Ethernet
Datenknotenkonfiguration:
Prozessoren: 2 Quad-Core-CPUs mit 2 GHz
RAM: 64 GB
Festplatte: 12-24 x 1 TB SATA
Netzwerk: 10 Gigabit Ethernet
=> Schauen Sie sich hier den Big Data-Leitfaden für Anfänger an.
Literatur-Empfehlungen
- Big Data Tutorial für Anfänger | Was ist Big Data?
- 20+ MongoDB Tutorial für Anfänger: Kostenloser MongoDB Kurs
- So richten Sie das Node.js-Testframework ein: Node.js-Lernprogramm
- Data Mart Tutorial - Typen, Beispiele und Implementierung von Data Mart
- Ausführliche Eclipse-Tutorials für Anfänger
- Python-Tutorial für Anfänger (KOSTENLOSES Python-Training zum Anfassen)
- Datengesteuertes Framework in Selenium WebDriver mit Apache POI
- LoadRunner Tutorial für Anfänger (kostenloser 8-tägiger Tiefenkurs)