2016-07-19 15 views
0

Ich versuche, 193 GB Daten von s3 nach HDFS zu kopieren. Ich laufe die folgenden Befehle für s3-distcp und hadoop distcp:s3-dist-cp und hadoop distcp job endlos in EMR

s3-dist-cp --src s3a://PathToFile/file1 --dest hdfs:///user/hadoop/S3CopiedFiles/ 

hadoop distcp s3a://PathToFile/file1 hdfs:///user/hadoop/S3CopiedFiles/ 

ich diese auf dem Master-Knoten renne und auch eine Kontrolle über die Menge zu halten übertragen werden. Es hat ungefähr eine Stunde gedauert und nach dem Kopieren wurde alles gelöscht, der Speicherplatz wird in den 4 Kerninstanzen meines Clusters als 99,8% angezeigt und der Hadoop-Job läuft für immer. Sobald ich den Befehl ausführen,

16/07/18 18:43:55 INFO mapreduce.Job: map 0% reduce 0% 
16/07/18 18:44:02 INFO mapreduce.Job: map 100% reduce 0% 
16/07/18 18:44:08 INFO mapreduce.Job: map 100% reduce 14% 
16/07/18 18:44:11 INFO mapreduce.Job: map 100% reduce 29% 
16/07/18 18:44:13 INFO mapreduce.Job: map 100% reduce 86% 
16/07/18 18:44:18 INFO mapreduce.Job: map 100% reduce 100% 

Dies wird sofort und kopiert dann über Daten für eine Stunde gedruckt. Es beginnt von vorne.

16/07/18 19:52:45 INFO mapreduce.Job: map 0% reduce 0% 
16/07/18 18:52:53 INFO mapreduce.Job: map 100% reduce 0% 

Fehlt mir hier etwas? Jede Hilfe wird geschätzt.

Auch ich würde gerne wissen, wo kann ich die Protokolldateien auf dem Master-Knoten finden, um zu sehen, ob der Job fehlschlägt und damit Schleife? Danke

Antwort

0

In meinem Fall kopiere ich eine einzelne große komprimierte Datei von hdfs zu s3, und hadoop distcp ist viel schneller als s3-dist-cp.

Wenn ich Protokoll prüfe, dauert Multi-Upload-Teil sehr lange bei Schritt reduzieren. Das Hochladen eines Blocks (134 MB) dauert 20 Sekunden für s3-dist-cp, während es nur 4 Sekunden für den Hadoop-Abstand dauert.

Unterschied zwischen distcp und s3-dist-cp ist distcp erstellt temporäre Dateien bei s3 (am Zieldateisystem), während s3-dist-cp temporäre Dateien bei hdfs erstellt.

Ich untersuche noch, warum Multi-Upload-Leistung mit distcp und s3-dist-cp viel anders ist, hoffe, dass jemand mit guten Einsichten hier beitragen kann.

0

Wenn Sie Hadoop 2.8.0 für Ihre Untersuchungen verwenden und s3a: // Dateisystem verwenden können, können Sie viele Dateisystemstatistiken erfassen, die es jetzt sammelt.

Ein echter Performance-Killer ist rename(), der in den s3-Clients kopiert wird, indem man eine Kopie und dann eine Löschung durchführt: Wenn distcp run versucht, atomare distcp mit Umbenennungen zu machen, wird eine Verzögerung von etwa 1 hinzugefügt Sekunde für jede 6-10MB Daten. dass 134 MB für 16s Post-Upload-Verzögerung mit dem "es ist ein Umbenennen" gehen würde

Verwandte Themen