2012-03-30 12 views
3

Ich habe ElasticMapReduce seit einiger Zeit verwendet. Es ist recht praktisch, aber ich kann HBase nicht ausführen, da der Hadoop-Cluster nur vorübergehend verfügbar ist (ich habe eine ähnliche Frage unter HBase and Hadoop gestellt).Hadoop auf EC2 vs. ElasticMapReduce/S3

Also ich möchte versuchen, Hadoop auf einer Reihe von EC2-Maschinen zu installieren. Ich weiß, dass Hadoop ein EC2 verwandtes Verzeichnis hat - src/contrib/ec2. Es sieht so aus, als könnte ein Hadoop-Cluster einfach durch Eingabe eines Befehls gestartet werden, und ich kann mich bei einem Master-Knoten anmelden, um Jobs usw. auszuführen. Bevor ich das versuche, würde ich gerne irgendwelche Fehler von Personen wissen, die dies benutzt haben. Vielen Dank!

+0

Gute Frage, würde gerne einige Antworten zu sehen. Ich weiß, dass Elastic MapReduce S3 als Speicherplattform verwendet. Daher ist es in der Regel weniger effizient als Hadoop auf EC2, da es die Datenlokalisierungsoptimierung nicht wie bei HDFS verwenden kann (s3 läuft auf einem anderen System). – Christophe

Antwort

0

In der Tat gibt es zwei Möglichkeiten der Verwendung von Hadoop auf Amazon - Bereitstellung Ihrer eigenen Cluster oder Usint EMR. Orthogonal zu dieser Entscheidung können Sie HDFS oder S3 als Ihr Dateisystem verwenden. Es ist keine kurze Geschichte, aber ich werde versuchen, einige Vorteile/Nachteile all dieser Entscheidungen zu heben.
Sie können EMR verwenden, wenn Sie einzelne/wenige Jobs pro Tag ausführen müssen und nicht ständig Hadoop-Cluster benötigen. In diesem Fall legen Sie Ihre Daten in s3 ab und können den Prozess vollständig skripten. Hauptnachteil - es ist nicht einfach zu anpassen, verwenden Sie Drittanbieter-Bibliotheken usw. In diesem Fall sparen Sie auch Zeit für die Installation des Clusters. Wenn Sie Hadoop optimieren möchten, sollten Sie Ihren eigenen Cluster installieren.
Wenn Ihre Daten bereits in S3 sind oder Sie sie nach der Verarbeitung speichern müssen - s3 ist eine gute Wahl. In der gleichen Zeit - Sie werden wahrscheinlich weniger Leistung als mit HDFS. Man muss sagen, dass amazon instances sehr wenig lokalen Speicher hat - es wird also sehr teuer und Sie sollten Cluster laufen lassen (und dafür bezahlen), nur um diesen Speicher zu erhalten.
Ich würde sagen, dass, wenn Sie in der Tat HDFS mit all seinen throutput benötigen Sie in der Tat eigene Cluster auf eigener Hardware benötigen. Wenn Sie bei Amazon arbeiten, ist es am praktischsten, S3 als Dateisystem zu verwenden.