8 Stimmen

Erfahrung mit Hadoop?

Hat jemand von Ihnen Hadoop ausprobiert? Kann es ohne das dazugehörige verteilte Dateisystem in einer Share-nothing-Architektur verwendet werden? Würde das Sinn machen?

Ich interessiere mich auch für alle Leistungsergebnisse, die Sie haben...

8voto

Joe Shaw Punkte 21088

Ja, Sie können Hadoop auf einem lokalen Dateisystem verwenden, indem Sie an verschiedenen Stellen Datei-URIs anstelle von hdfs-URIs verwenden. Ich glaube, viele der Beispiele, die mit Hadoop geliefert werden, tun dies.

Dies ist wahrscheinlich in Ordnung, wenn Sie nur lernen wollen, wie Hadoop funktioniert und das grundlegende Map-Reduce-Paradigma kennenlernen möchten, aber Sie benötigen mehrere Maschinen und ein verteiltes Dateisystem, um die Vorteile der Skalierbarkeit, die der Architektur innewohnt, wirklich zu nutzen.

4voto

toluju Punkte 4027

Hadoop MapReduce kann auf einer beliebigen Anzahl von Dateisystemen oder sogar auf abstrakteren Datenquellen wie Datenbanken laufen. Tatsächlich gibt es eine Reihe von eingebauten Klassen für die Unterstützung von Nicht-HDFS-Dateisystemen, wie z. B. S3 y FTP . Sie können auch leicht Ihr eigenes Eingabeformat erstellen, indem Sie die Basis InputFormat-Klasse .

Die Verwendung von HDFS bringt jedoch einige Vorteile mit sich. Der größte Vorteil besteht darin, dass der MapReduce-Auftragsplaner versuchen wird, Maps und Reduces auf den physischen Rechnern auszuführen, auf denen die zu verarbeitenden Datensätze gespeichert sind. Dies bringt einen Leistungsschub, da die Daten direkt von der lokalen Festplatte geladen werden können, anstatt über das Netzwerk übertragen zu werden, was je nach Verbindung um Größenordnungen langsamer sein kann.

3voto

jbl Punkte 2550

Wie Joe schon sagte, kann man Hadoop auch ohne HDFS verwenden. Der Durchsatz hängt jedoch von der Fähigkeit des Clusters ab, Berechnungen in der Nähe des Ortes durchzuführen, an dem die Daten gespeichert sind. Die Verwendung von HDFS hat IMHO 2 Hauptvorteile: 1) Die Berechnungen werden gleichmäßiger über den Cluster verteilt (wodurch die Kommunikation zwischen den Knoten reduziert wird) und 2) der Cluster als Ganzes ist widerstandsfähiger gegen Ausfälle aufgrund der Nichtverfügbarkeit von Daten.

Wenn Ihre Daten bereits partitioniert oder trivial partitionierbar sind, sollten Sie eine eigene Partitionierungsfunktion für Ihre Map-Reduce-Aufgabe in Betracht ziehen.

3voto

Ryan Cox Punkte 4905

Der beste Weg, sich mit Hadoop vertraut zu machen, ist, es herunterzuladen und die enthaltenen Beispiele zu erkunden. Verwenden Sie eine Linux-Box/VM und Ihre Einrichtung wird viel einfacher sein als bei Mac oder Windows. Sobald Sie sich mit den Beispielen und Konzepten vertraut gemacht haben, können Sie sich überlegen, wie sich Ihr Problembereich in das Framework einfügen könnte.

Einige Ressourcen, die Sie für weitere Informationen über Hadoop nützlich finden könnten:

Videos und Präsentationen zum Hadoop-Gipfel

Hadoop: Der endgültige Leitfaden: Rough Cuts Version - Dies ist eines der wenigen (einzigen?) Bücher über Hadoop, die derzeit erhältlich sind. Ich würde sagen, es ist den Preis für die elektronische Download-Option wert, selbst zu diesem Zeitpunkt (das Buch ist zu 40 % fertig).

Hadoop: The Definitive Guide: Rough Cuts Version

0voto

Horse Voice Punkte 7648

Paralleles/verteiltes Rechnen = SPEED << Hadoop macht dies wirklich sehr einfach und billig, da man einfach einen Haufen von Commodity-Maschinen verwenden kann!!!

Im Laufe der Jahre hat sich die Speicherkapazität von Festplatten massiv erhöht, aber die Geschwindigkeit, mit der die Daten gelesen werden, hat damit nicht Schritt gehalten. Je mehr Daten auf einer Festplatte gespeichert sind, desto langsamer werden die Suchvorgänge.

Hadoop ist eine clevere Variante des "Teile und herrsche"-Ansatzes zur Problemlösung. Man zerlegt das Problem im Wesentlichen in kleinere Teile und weist die Teile mehreren verschiedenen Computern zu, die sie parallel verarbeiten, um die Dinge beschleunigen anstatt eine Maschine zu überlasten. Jeder Rechner verarbeitet seine eigene Teilmenge an Daten, und das Ergebnis wird am Ende kombiniert. Hadoop auf einem einzigen Knoten bietet nicht die Geschwindigkeit, auf die es ankommt.

Um den Nutzen von Hadoop zu erkennen, sollten Sie einen Cluster mit mindestens 4 bis 8 Commodity-Maschinen (je nach Größe Ihrer Daten) im selben Rack haben.

Man muss kein genialer Ingenieur für parallele Systeme mehr sein, um die Vorteile des verteilten Rechnens zu nutzen. Sie brauchen nur Hadoop und Hive zu kennen, und schon können Sie loslegen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X