Hadoop

Hadoop

Information
Schöpfer Doug Cutting und Mike Cafarella ( in )
Entwickelt von Apache Software Foundation
Erste Version 1 st April 2006
Letzte Version 3.3.0 (14. Juli 2020)
Anzahlung git-wip-us.apache.org/repos/asf/hadoop.git , gitbox.apache.org/repos/asf?p=hadoop.git und github.com/apache/hadoop
Geschrieben in Java
Betriebssystem Plattformübergreifend und POSIX
Umgebung Java virtuelle Maschine
Art Rahmen
Lizenz Apache License Version 2.0 und GNU General Public License
Dokumentation wiki.apache.org/hadoop/HowToContribute
Webseite hadoop.apache.org

Hadoop ist ein kostenloses und in Java geschriebenes Open-Source- Framework , das die Erstellung verteilter (Datenspeicherung und -verarbeitung) und skalierbarer (skalierbarer) Anwendungen erleichtern soll, sodass Anwendungen mit Tausenden von Knoten und Petabyte an Daten arbeiten können. Somit besteht jeder Knoten aus Standardmaschinen, die in einem Cluster zusammengefasst sind. Alle Hadoop-Module basieren auf der Idee, dass Hardwarefehler häufig auftreten und daher vom Framework automatisch behandelt werden sollten.

Hadoop wurde von der Veröffentlichung von MapReduce , GoogleFS und BigTable von Google inspiriert . Hadoop wurde von Doug Cutting erstellt und ist seit 2009 Teil der Apache Software Foundation- Projekte .

Der Kern von Hadoop besteht aus einem Speicherteil: HDFS ( Hadoop Distributed File System ) und einem Verarbeitungsteil namens MapReduce. Hadoop teilt die Dateien in große Blöcke auf und verteilt sie auf die Knoten des Clusters. Um die Daten zu verarbeiten, überträgt es den Code an jeden Knoten und jeder Knoten verarbeitet die Daten, über die er verfügt. Dies ermöglicht es, alle Daten schneller und effizienter zu verarbeiten als in einer herkömmlichen Supercomputer-Architektur das auf einem parallelen Dateisystem basiert, in dem Berechnungen und Daten über Hochgeschwindigkeitsnetzwerke verteilt werden.

Das grundlegende Hadoop-Framework besteht aus folgenden Modulen:

Der Begriff Hadoop bezieht sich nicht nur auf die oben genannten Grundmodule, sondern auch auf sein Ökosystem und auf die gesamte Software, die zur Verbindung mit Hadoop verwendet wird , z. B. Apache Pig , Apache Hive , Apache HBase , Apache Phoenix , Apache Spark , Apache ZooKeeper und Apache Impala , Apache Flume , Apache Sqoop , Apache Oozie , Apache Storm .

Historisch

Im Jahr 2004 veröffentlichte Google einen Artikel, in dem sein Algorithmus vorgestellt wurde, der auf umfangreichen Analysevorgängen auf einem großen Servercluster , dem MapReduce , sowie seinem Cluster-Dateisystem, dem GoogleFS , basiert . Doug Cutting , der zu dieser Zeit an der Entwicklung von Apache Lucene arbeitete und auf ähnliche Probleme wie die Firma Mountain View stieß, entschied sich dann, die im Artikel beschriebenen Konzepte zu verwenden, um seine eigene Version der Tools in einer Open-Source- Version zu entwickeln . , das das Hadoop-Projekt wird.

Er wurde von der Decke seines fünfjährigen Sohnes, einem gelben Elefanten, für das Logo und den Namen dieses neuen Java- Frameworks inspiriert .

Im Jahr 2006 beschloss Doug Cutting , sich Yahoo mit dem Nutch- Projekt und Ideen anzuschließen, die auf Googles frühen Arbeiten zur verteilten Datenverarbeitung und -speicherung basieren.

Im Jahr 2008 bot Yahoo Hadoop als Open-Source-Projekt an.

Im Jahr 2011 wurde Hadoop in Version 1.0.0 geboren; datiert27. Dezember 2011.

Das 23. Mai 2012Die Open-Source- Community startet Hadoop 2.0, das ab November 2012 im Rahmen des von der Apache Software Foundation gesponserten Apache-Projekts der Öffentlichkeit angeboten wurde . Die große Revolution war das Hinzufügen der YARN- Schicht in der Struktur von Hadoop.

Von September 2016, Version 3.0.0-alpha1 wird veröffentlicht.

Die Architektur

Hadoop Distributed File System

HDFS ist ein verteiltes , erweiterbares und portables Dateisystem, das von Hadoop von GoogleFS entwickelt wurde . Es wurde in Java geschrieben und wurde entwickelt, um sehr große Datenmengen auf einer großen Anzahl von Computern zu speichern, die mit Standardfestplatten ausgestattet sind. Es ermöglicht die Abstraktion der physischen Speicherarchitektur, um ein verteiltes Dateisystem so zu manipulieren , als wäre es eine einzelne Festplatte.

Eine Architektur von HDFS-Maschinen (auch als HDFS- Cluster bezeichnet ) basiert auf zwei Arten von Hauptkomponenten:

NameNode Namespace verwaltet diese Komponente den Namensraum , Dateisystemstruktur und Datei- und Verzeichnis Metadaten . Es zentralisiert den Speicherort der im Cluster verteilten Datenblöcke . Es ist eindeutig, verfügt jedoch über eine sekundäre Instanz, die den Änderungsverlauf im Dateisystem verwaltet ( Sicherungsrolle ). Dieser sekundäre NameNode ermöglicht die Kontinuität des Betriebs des Hadoop- Clusters bei einem Ausfall des ursprünglichen NameNode . DataNode Datenknoten, diese Komponente speichert und stellt Datenblöcke wieder her. Während des Lesens einer Datei wird der NameNode abgefragt, um alle Datenblöcke zu finden. Für jeden von ihnen gibt der NameNode die Adresse des am besten zugänglichen DataNode zurück , dh den DataNode mit der größten Bandbreite . Die DataNodes übermitteln dem NameNode regelmäßig die Liste der von ihnen gehosteten Datenblöcke. Wenn einige dieser Blöcke im Cluster nicht ausreichend repliziert werden , erfolgt das Schreiben dieser Blöcke in Kaskade durch Kopieren in andere.

Jeder DataNode dient als Datenblock im Netzwerk unter Verwendung eines für HDFS spezifischen Protokolls . Das Dateisystem verwendet die TCP / IP- Schicht für die Kommunikation. Clients verwenden den Remote Procedure Call , um miteinander zu kommunizieren. HDFS speichert große Dateien auf mehreren Computern. Es erreicht Zuverlässigkeit durch Replizieren von Daten über mehrere Hosts und erfordert daher keinen RAID- Speicher auf den Hosts. Mit dem Replikationsstandard werden Daten auf drei Knoten gespeichert: zwei auf demselben Medium und einer auf verschiedenen Medien. Die DataNodes können kommunizieren, um die Daten neu auszugleichen und ein hohes Maß an Replikation der Daten aufrechtzuerhalten.

HDFS entspricht nicht vollständig den POSIX- Spezifikationen , da die Anforderungen für ein POSIX- Dateisystem von den Zielzielen für eine Hadoop-Anwendung abweichen. Der Kompromiss, kein vollständig POSIX-kompatibles Dateisystem zu haben, erhöht die Datendurchsatzleistung.

HDFS hat kürzlich seine Hochverfügbarkeitsfunktionen verbessert, sodass der primäre Metadatenserver im Falle eines Fehlers manuell auf ein Backup umgestellt werden kann (automatisches Failover befindet sich in der Entwicklung). Da NameNodes der einzige Punkt zum Speichern und Verwalten von Metadaten sind , können sie einen Engpass bei der Unterstützung einer großen Anzahl von Dateien darstellen, insbesondere wenn die Dateien klein sind. Durch das Akzeptieren mehrerer Namespaces, die von separaten NameNodes bereitgestellt werden, verringert HDFS dieses Problem.

Karte verkleinern

Hadoop hat eine vollständige Implementierung des MapReduce-Konzepts.

HBase

HBase ist eine verteilte Datenbank mit strukturiertem Speicher für große Tabellen.

HBase ist wie BigTable eine spaltenorientierte Datenbank .

ZooKeeper

ZooKeeper ist eine Konfigurationsverwaltungssoftware für verteilte Systeme, die auf der von Google entwickelten Chubby-Software basiert. ZooKeeper wird unter anderem für die Implementierung von HBase verwendet.

Bienenstock

Hive ist eine Datenanalyse-Software, mit der Hadoop mit einer SQL- ähnlichen Syntax verwendet werden kann . Hive wurde ursprünglich von Facebook entwickelt .

Schwein

Pig ist eine mit Hive vergleichbare Datenanalyse-Software, die jedoch die lateinische Sprache Pig verwendet . Pig wurde ursprünglich von Yahoo! .

Verwendet

Mehrere große Namen in der IT haben sich für die Verwendung von Hadoop angemeldet, darunter Facebook , Yahoo und Microsoft . Yahoo betreibt den größten Hadoop-Cluster der Welt mit mehr als 100.000 CPUs und 40.000 Maschinen, die dieser Technologie gewidmet sind.

WikiTrends ist ein kostenloser Publikumsanalysedienst aus der Wikipedia- Enzyklopädie, der in gestartet wurdeApril 2014. Die Anwendung, insbesondere mit Hadoop, ermöglicht es, die von Benutzern in der Wikipedia-Enzyklopädie am häufigsten gesuchten Themen über eine grafische Visualisierungsoberfläche zu quantifizieren.

Hadoop und die Wolke

Hadoop kann in einem herkömmlichen Rechenzentrum, aber auch über die Cloud bereitgestellt werden . Mit der Cloud können Unternehmen Hadoop bereitstellen, ohne spezielle Hardware oder Fachkenntnisse zu erwerben.

Microsoft Azure

Azure HDInsight ist ein Dienst, der Hadoop unter Microsoft Azure bereitstellt. HDInsight verwendet die Hortonworks Data Platform (HDP). HDInsight ermöglicht die Programmierung von Erweiterungen in .NET (zusätzlich zu Java). HDInsight unterstützt auch die Erstellung von Hadoop-Clustern mit Ubuntu.

Durch die Verwendung von HDInsight in der Cloud können Unternehmen so viele Knoten ausführen, wie sie möchten. Sie werden gemäß der Berechnung und dem verwendeten Speicher in Rechnung gestellt. HDP-Implementierungen können auch Daten aus einem lokalen Rechenzentrum in die Cloud verschieben, um Sicherungs-, Entwicklungs-, Test- und Durchbruchsszenarien zu erstellen. Es ist auch möglich, HDP-Cluster auf virtuellen Azure-Maschinen auszuführen.

Amazon EC2 / S3-Dienste

Es ist möglich, Hadoop in der Amazon Elastic Compute Cloud (EC2) und im Amazon Simple Storage Service (S3) auszuführen . Beispielsweise verwendete die New York Times 100 Amazon EC2-Instanzen und eine Hadoop-Anwendung, um 4 TB rohe TIFF-Bilder (in Amazon S3 gespeichert) in 11 Millionen PDF-Dateien zu verarbeiten.

Verteilungen

Hadoop wird insbesondere von vier Spielern vertrieben, die Schulungsdienste und kommerziellen Support sowie zusätzliche Funktionen anbieten:

Anmerkungen und Referenzen

  1. "  https://archive.apache.org/dist/hadoop/common/  "
  2. "  https://hadoop.apache.org/release/3.3.0.html  "
  3. "  Google Research Publication: MapReduce  " auf research.google.com (abgerufen am 12. September 2016 )
  4. (in) "  Hadoop Doug Cutting Daddy sagt, es ist ein Elefant im Raum  " , The Register ,8. Mai 2014( online lesen )
  5. "  Cloudera: Eine kurze Geschichte von Hadoop, seinem Schöpfer und einer Revolution | Silizium  “, Silizium ,29. März 2012( online lesen , konsultiert am 17. Juli 2018 )
  6. „  Hadoop - Alles, was Sie über die Big Data-Hauptplattform wissen müssen  “ , auf www.lebigdata.fr (abgerufen am 17. Juli 2018 )
  7. "  Apache Hadoop Releases  " unter hadoop.apache.org (abgerufen am 17. Juli 2018 )
  8. Liste der Unternehmen, die behaupten, Hadoop zu verwenden
  9. Apache.org, mit Hadoop auf der ganzen Welt .
  10. "  WikiTrends, die erste Big Data-Anwendung, die mehr als 21  TB Statistiken in Echtzeit bereitstellt  " [PDF] , auf www.itrpress.com ,3. März 2014(abgerufen am 10. November 2014 )
  11. Marlène Duretz , "  Auch nicht schlecht  ", Le Monde ,3. Juni 2014( online lesen )
  12. https://azure.microsoft.com/en-us/solutions/hadoop/
  13. https://azure.microsoft.com/en-us/services/hdinsight/
  14. S i Official Cloudera Sie, präsentiert seinen Schulungsservice und Support
  15. "  Big Data: Cloudera lässt sich in Frankreich nieder  ", Silicon ,7. Oktober 2014( online lesen , konsultiert am 22. Juni 2017 )

Siehe auch

Zum Thema passende Artikel

Externe Links