HBase
 sql >> Datenbank >  >> NoSQL >> HBase

Hadoop – Ein Apache Hadoop-Tutorial für Anfänger

Das Hauptziel dieses Hadoop Das Tutorial soll jeden einzelnen Aspekt von Apache Hadoop Framework beschreiben. Grundsätzlich ist dieses Tutorial so konzipiert, dass es einfach ist, Hadoop von Grund auf zu lernen.

In diesem Artikel werden wir unser Bestes tun, um Fragen zu beantworten, wie zum Beispiel, was Big Data Hadoop ist, was die Notwendigkeit von Hadoop ist, was die Geschichte von Hadoop ist und schließlich die Vor- und Nachteile des Apache Hadoop-Frameworks.

Wir hoffen, dass Sie nach dem Lesen dieses Artikels ein klares Verständnis dafür haben, was ein Hadoop-Framework ist.

Was ist Hadoop?

Es ist ein Open-Source-Software-Framework für die verteilte Speicherung und Verarbeitung großer Datenmengen. Open Source bedeutet, dass es frei verfügbar ist und sogar wir können den Quellcode gemäß Ihren Anforderungen ändern.

Es ermöglicht auch, Anwendungen auf einem System mit Tausenden von Knoten auszuführen. Das verteilte Dateisystem bietet schnelle Datenübertragungsraten zwischen den Knoten. Außerdem kann das System im Falle eines Knotenausfalls weiter betrieben werden.

Hadoop bietet-

  • Die Speicherebene – HDFS
  • Batch-Verarbeitungsmodul – MapReduce
  • Ressourcenverwaltungsebene – YARN

Hadoop – Geschichte

2003 startet Google das Projekt Nutch um Milliarden von Suchanfragen zu verarbeiten. Auch für die Indizierung von Millionen von Webseiten. Im Oktober 2003 veröffentlichte Google GFS (Google File System) Papier, aus diesem Papier entstand Hadoop.

2004 veröffentlicht Google Papier mit MapReduce . Und 2005 verwendete Nutch GFS und MapReduce, um Operationen durchzuführen.

2006 Informatiker Doug Cutting und Mike Cafarella  Hadoop erstellt. Im Februar 2006 kam Doug Cutting zu Yahoo . Dadurch wurden Ressourcen und das engagierte Team bereitgestellt, um Hadoop in ein System zu verwandeln, das im Webmaßstab lief. Im Jahr 2007 begann Yahoo mit der Verwendung von Hadoop auf einem 100-Knoten-Cluster.

Im Januar 2008 führte Hadoop sein eigenes Top-Level-Projekt bei Apache durch und bestätigte seinen Erfolg. Neben Yahoo! haben viele andere Unternehmen Hadoop verwendet, darunter die New York Times und Facebook.

Im April 2008 brach Hadoop einen Weltrekord und wurde zum schnellsten System, das ein Terabyte an Daten sortiert. Auf einem 910-Knoten-Cluster ausgeführt, sortierte In ein Terabyte in 209 Sekunden.

Im Dezember 2011 hat Apache Hadoop Version 1.0 veröffentlicht. Im August 2013 war die Version 2.0.6 verfügbar. Später im Juni 2017 ist Apache Hadoop 3.0.0-alpha4 verfügbar. ASF (Apache Software Foundation) verwaltet und wartet Hadoops Framework und Ökosystem von Technologien.

Warum Hadoop?

Da wir die Einführung gelernt haben, werden wir jetzt lernen, was die Notwendigkeit von Hadoop ist?

Es entstand als Lösung für die „Big Data ” Probleme-

a. Speicher für Big Data – HDFS Dieses Problem wurde gelöst. Es speichert Big Data auf verteilte Weise. HDFS speichert auch jede Datei als Blöcke. Block ist die kleinste Dateneinheit in einem Dateisystem.

Angenommen, Sie haben 512 MB Daten. Und Sie haben HDFS so konfiguriert, dass es 128 MB Datenblöcke erstellt. HDFS teilt also Daten in 4 Blöcke auf (512/128=4) und speichert es über verschiedene DataNodes. Es repliziert auch die Datenblöcke auf verschiedenen Datenknoten.

Daher ist das Speichern von Big Data keine Herausforderung.

b. Skalierbarkeit – Es löst auch das Skalierungsproblem. Es konzentriert sich hauptsächlich auf die horizontale Skalierung und nicht auf die vertikale Skalierung. Sie können dem HDFS-Cluster nach Bedarf zusätzliche Datenknoten hinzufügen. Anstatt die Ressourcen Ihrer Datenknoten hochzuskalieren.

Dadurch wird die Leistung dramatisch verbessert.

c. Speichern der Vielzahl von Daten  – HDFS hat dieses Problem gelöst. HDFS kann alle Arten von Daten speichern (strukturiert, halbstrukturiert oder unstrukturiert). Es folgt auch einmal schreiben und viele Modelle lesen .

Aus diesem Grund können Sie jede Art von Daten einmal schreiben und sie mehrmals lesen, um Erkenntnisse zu gewinnen.

d. Datenverarbeitungsgeschwindigkeit – Das ist das Hauptproblem von Big Data. Um dieses Problem zu lösen, verschieben Sie die Berechnung in die Daten statt von den Daten in die Berechnung. Dieses Prinzip ist  Datenlokalität .

Hadoop-Kernkomponenten

Jetzt lernen wir die Kernkomponente von Apache Hadoop im Detail kennen. Es hat 3 Kernkomponenten-

  • HDFS
  • MapReduce
  • YARN (noch ein weiterer Ressourcenverhandler)

Lassen Sie uns diese Kernkomponenten einzeln besprechen.

a. HDFS

Verteiltes Hadoop-Dateisystem (HDFS) ist das primäre Speichersystem von Hadoop. HDFS speichert sehr große Dateien, die auf einem Cluster handelsüblicher Hardware ausgeführt werden. Es folgt dem Prinzip, weniger große Dateien statt der großen Anzahl kleiner Dateien zu speichern.

Speichert Daten auch bei Hardwareausfall zuverlässig. Es bietet Zugriff auf die Anwendung mit hohem Durchsatz durch parallelen Zugriff.

Komponenten von HDFS:

  • NameNode – Es arbeitet als Master im Cluster. Namenode speichert Metadaten . Eine Reihe von Blöcken, Repliken und anderen Details. Metadaten sind im Speicher des Masters vorhanden. NameNode pflegt und verwaltet die Slave-Knoten und weist ihnen Aufgaben zu. Es sollte auf zuverlässiger Hardware bereitgestellt werden, da es das Herzstück von HDFS ist.
  • DataNode –  Es arbeitet als Slave im Cluster. In HDFS ist DataNode dafür verantwortlich, tatsächliche Daten in HDFS zu speichern. DataNode führt Lese- und Schreibvorgänge gemäß Anforderung für die Clients aus. DataNodes können auch auf handelsüblicher Hardware bereitgestellt werden.

b. MapReduce

MapReduce ist die Datenverarbeitungsschicht von Hadoop. Es verarbeitet große strukturierte und unstrukturierte Daten, die in HDFS gespeichert sind. MapReduce verarbeitet auch eine riesige Datenmenge parallel.

Dies geschieht, indem der Job (vorgelegter Job) in eine Reihe unabhängiger Aufgaben (Sub-Job) aufgeteilt wird. MapReduce funktioniert, indem es die Verarbeitung in Phasen aufteilt:Map und Reduce.

  • Karte –  Es ist die erste Phase der Verarbeitung, in der wir den gesamten komplexen Logikcode spezifizieren.
  • Reduzieren – Es ist die zweite Phase der Verarbeitung. Hier spezifizieren wir leichte Verarbeitung wie Aggregation/Summierung.

c. GARN

YARN stellt die Ressourcenverwaltung bereit. Es ist das Betriebssystem von Hadoop. Es ist für die Verwaltung und Überwachung von Workloads sowie für die Implementierung von Sicherheitskontrollen verantwortlich. Apache YARN ist auch eine zentrale Plattform, um Data-Governance-Tools über die Cluster hinweg bereitzustellen.

YARN ermöglicht mehrere Datenverarbeitungsmaschinen wie Echtzeit-Streaming, Stapelverarbeitung usw.

Bestandteile von GARN:

  • Ressourcenmanager –  Es ist eine Komponente auf Cluster-Ebene und wird auf dem Master-Computer ausgeführt. Es verwaltet Ressourcen und plant Anwendungen, die auf YARN ausgeführt werden. Es besteht aus zwei Komponenten:Scheduler &Application Manager.
  • Knotenmanager – Es ist eine Komponente auf Knotenebene. Es läuft auf jeder Slave-Maschine. Es kommuniziert kontinuierlich mit Resource Manager, um auf dem Laufenden zu bleiben

Vorteile von Hadoop

Lassen Sie uns nun verschiedene Hadoop-Vorteile besprechen, um die Big-Data-Probleme zu lösen.

  • Skalierbarkeit – Durch das Hinzufügen von Knoten können wir unser System leicht erweitern, um mehr Daten zu verarbeiten.
  • Flexibilität –   In diesem Rahmen müssen Sie Daten vor dem Speichern nicht vorverarbeiten. Sie können so viele Daten speichern, wie Sie möchten, und entscheiden, wie Sie sie später verwenden.
  • Kostengünstig –  Das Open-Source-Framework ist kostenlos und läuft auf kostengünstiger Standardhardware.
  • Fehlertoleranz –  Wenn Knoten ausfallen, werden Jobs automatisch an andere Knoten umgeleitet.
  • Rechenleistung – Es ist  Das verteilte Computermodell verarbeitet Big Data schnell. Je mehr Rechenknoten Sie verwenden, desto mehr Rechenleistung haben Sie.

Nachteile von Hadoop

Einige Nachteile von Apache Hadoop Framework sind unten aufgeführt-

  • Sicherheitsbedenken – Es kann schwierig sein, die komplexe Anwendung zu verwalten. Wenn der Benutzer, der die Plattform verwaltet, nicht weiß, wie er die Plattform aktivieren soll, könnten Ihre Daten ein großes Risiko darstellen. Da Hadoop auf Speicher- und Netzwerkebene keine Verschlüsselung aufweist, ist dies ein wichtiger Punkt.
  • Von Natur aus anfällig –  Das Framework ist fast in Java geschrieben, der am weitesten verbreiteten Sprache. Java wird stark von Cyberkriminellen ausgenutzt. Infolgedessen in zahlreiche Sicherheitsverletzungen verwickelt.
  • Nicht geeignet für kleine Datenmengen – Da es für kleine Daten nicht geeignet ist. Daher fehlt ihm die Fähigkeit, das zufällige Lesen kleiner Dateien effizient zu unterstützen.
  • Mögliche Stabilitätsprobleme –  Da es sich um ein Open-Source-Framework handelt. Dies bedeutet, dass es von vielen Entwicklern erstellt wird, die weiterhin an dem Projekt arbeiten. Während ständig Verbesserungen vorgenommen werden, hat es Stabilitätsprobleme. Um diese Probleme zu vermeiden, sollten Unternehmen die neueste stabile Version verwenden.

Schlussfolgerung

Zusammenfassend können wir sagen, dass es das beliebteste und leistungsfähigste Big-Data-Tool ist. Es speichert riesige Datenmengen auf verteilte Weise.

Und verarbeitet die Daten dann parallel auf einem Cluster von Knoten. Es bietet auch die weltweit zuverlässigste Speicherschicht – HDFS. Stapelverarbeitungsmodul MapReduce und Ressourcenverwaltungsschicht – YARN.

Daher stellen diese Daemons die Hadoop-Funktionalität sicher.


No