Hadoop-Cluster. 2 schnelle, 4 mittlere, 8 langsamere Maschinen?

8

Wir werden eine neue Hardware kaufen, die nur für einen Hadoop-Cluster verwendet wird, und wir hängen fest, was wir kaufen sollten. Nehmen wir an, wir haben ein Budget von 5 Tsd. $, Sollten wir zwei super nette Maschinen für 2500 $ / Stück kaufen, vier für ungefähr 1200 $ / Stück oder acht Stück für ungefähr 600 $ pro Stück? Wird Hadoop besser mit langsameren Maschinen oder weniger schnellen Maschinen arbeiten? Oder wie die meisten Dinge "hängt es ab"? : -)

    
Ryan Detzel 10.06.2009, 15:14
quelle

5 Antworten

10

Sie sind im Allgemeinen besser dran, wenn Hadoop ein paar zusätzliche Maschinen bekommt, die weniger fleischig sind. Datanoden mit mehr als 16 GB RAM und Dual-Quad-Core-CPUs werden fast nie angezeigt, und oft sind sie kleiner.

Sie müssen immer einen als node-node (master) ausführen, und normalerweise führen Sie auch keinen datanode (worker / slave) in derselben Box aus, obwohl Sie das tun könnten, da Ihr Cluster klein ist. Angenommen, Sie tun es nicht, aber wenn Sie zwei Maschinen bekommen, werden Sie nur einen Arbeiterknoten haben, was den Zweck etwas zunichte macht. (Nicht ganz, weil Sie immer noch 4-8 Jobs parallel auf dem Slave ausführen können, aber immer noch.)

Gleichzeitig möchten Sie keinen Cluster von 1000 486s haben. Wenn Ihr Budget $ 5k ist, würde ich ein Gleichgewicht und machen 4 $ 1200 Maschinen. Diese bieten eine ordentliche Basis für die individuelle Leistung. Sie haben 3 Datenpunkte, um die Arbeit zu verteilen, und Sie haben genug Platz, um Ihren Cluster zu erweitern, wenn Sie ihn brauchen.

Dinge, die Sie beachten sollten: Sie möchten mehrere Map- oder Reduce-Tasks pro Datenknoten ausführen, und das bedeutet, dass mehrere JVMs gleichzeitig ausgeführt werden. Ich würde versuchen, mindestens 4 GB und vorzugsweise 8 GB RAM zu bekommen. Die CPU ist weniger wichtig, da die meisten MR-Jobs IO-gebunden sind. Sie könnten wahrscheinlich eine Maschine wie diese für Ihr Preisziel von 1200 $ bekommen, das ist meine Stimme.

    
Kevin Weil 13.06.2009, 15:11
quelle
6

Kurz gesagt, Sie möchten die Anzahl der Prozessorkerne und Festplatten maximieren. Sie können auf Zuverlässigkeit und Qualität verzichten, erhalten aber nicht die günstigste Hardware, da Sie zu viele Zuverlässigkeitsprobleme haben.

Wir gingen mit Dell 2xCPU 4-Core-Dell-Servern, also 8 Kerne pro Box. 16 GB Speicher pro Box, das sind 2 GB pro Kern, ein wenig niedrig, da Sie Speicher sowohl für Ihre Aufgaben als auch für die Pufferung der Festplatte benötigen. 5x500GB Festplatten, und ich wünschte, wir wären stattdessen für Terabyte oder höhere Laufwerke gegangen.

Bei Laufwerken ist meine Meinung, dass Sie billigere, langsamere, unzuverlässige Laufwerke mit hoher Kapazität kaufen, im Gegensatz zu teureren, schnelleren, kleineren, zuverlässigen Laufwerken. Wenn Sie Probleme mit dem Durchsatz haben, hilft mehr Arbeitsspeicher beim Puffern.

Dies ist wahrscheinlich eine schärfere Konfiguration, als Sie betrachten, aber das Auskernen von Kernen und Laufwerken im Vergleich zum Kauf mehrerer Boxen ist im Allgemeinen eine gute Wahl - weniger Stromkosten, einfacher zu verwalten und für einige Operationen schneller.

Mehr Laufwerke bedeuten mehr simultanen Plattendurchsatz pro Kern. Es ist also gut, so viele Laufwerke wie Cores zu haben. Benchmarking scheint darauf hinzudeuten, dass RAID-Konfigurationen langsamer sind als die JBOD-Konfiguration (nur die Laufwerke werden gemountet und Hadoop verteilt die Last über sie) und JBOD ist auch zuverlässiger.

LETZTES! Achten Sie darauf, ECC-Speicher zu erhalten. Hadoop schiebt Terabytes an Daten durch den Speicher, und einige Benutzer haben herausgefunden, dass Nicht-ECC-Speicherkonfigurationen gelegentlich Einzelbitfehler in Terabyte-großen Datensätzen verursachen können. Das Debuggen dieser Fehler ist ein Albtraum.

    
Colin Evans 24.06.2009 18:05
quelle
2

Ich empfehle, einen Blick auf diese Präsentation zu werfen: Ссылка Hier werden die verschiedenen Vor- und Nachteile beschrieben.

    
Niels Basjes 19.06.2009 14:54
quelle
0

Ich denke, die Antwort hängt auch von Ihren Erwartungen an die Cluster-Wachstums- und Netzwerktechnologie ab, die Sie verwenden. Wenn Sie mit 1GB Ethernet in Ordnung sind - dann ist der Typ der Maschinen weniger wichtig. In der gleichen Zeit - wenn Sie 10GBit Ethernet wollen - sollten Sie sich für eine kleinere Anzahl von besseren Maschinen entscheiden, um die Kosten für die Vernetzung zu reduzieren.

    
David Gruzman 30.01.2011 18:21
quelle
0

eine weitere Referenz: Ссылка (Haftungsausschluss: Ich bin Mitautor dieses kostenlosen Hadoop-Buches)

    
Sujee Maniyam 11.03.2013 02:51
quelle

Tags und Links