2017-03-03 9 views
0

Ich verwende AWS EMR, um einen Map Reduce-Job auszuführen. Mein Eingabe-Set enthält 1 Million Dateien mit jeweils ca. 15 KB. Da Eingabedateien sehr klein sind, führt dies zu einer großen Anzahl von Mappern. Also habe ich s3 Blockgröße auf 20KB geändert und 5 r3.2xlarge Instanzen verwendet, aber die Anzahl der gleichzeitig laufenden Tasks ist immer noch nur 30. Sollte der Job nach dem Reduzieren der Blockgröße oder sogar nach dem Reduzieren der Blockgröße nicht mehr gleichzeitige Mapper laufen lassen , Speicher, der von jedem Mapper genommen wird, ist immer noch gleich?MapReduce: Anzahl gleichzeitiger Mapper-Aufgaben erhöhen

Wie kann ich die Speichernutzung jedes Mappers begrenzen oder die Anzahl gleichzeitiger Mapper-Aufgaben erhöhen? Die aktuell erwartete Ausführungszeit beträgt 100 Stunden. Werden diese Dateien mit einer geringeren Anzahl größerer Dateien kombiniert, wie zB 400 MB Dateien, erhöht sich die Verarbeitungszeit?

Antwort

0

Blockgröße Reduzierung kann die Anzahl der Mapper für einen bestimmten Auftrag erforderlich erhöhen, wird aber nicht die parallele Anzahl der Mapper erhöhen, die den Cluster zu einem bestimmten Zeitpunkt ausgeführt werden kann, noch die Speicher verwendet für diese Mapper.

5 r3.2xlarge Instanzen verwendet, aber Anzahl der gleichzeitigen Aufgaben läuft immer noch nur 30

Um die parallelen Karten/Reduzierungen, die ein Hadoop 2 EMR-Cluster unterstützen kann zu finden, lesen Sie diesen Artikel AWS EMR Parallel Mappers?

Ex: r3.2xlarge * 5 Kern der:

mapreduce.map.memory.mb 3392 3392 
yarn.scheduler.maximum-allocation-mb 54272 
yarn.nodemanager.resource.memory-mb  54272 

Sobald Core-Node 54272/3392 = 16 Mapper haben kann.

So kann ein Cluster insgesamt 16 * 5 = 80 Mapper parallel haben.

Wenn Ihr Job also wie 1000 Mapper hochfährt, kann Cluster 80 Mapper mit diesem vorkonfigurierten Speicher und Heap auf Ihren Knoten starten und andere Mapper werden einfach in der Warteschlange eingereiht.

Wenn Sie mehrere parallele Mapper möchten, sollten Sie weniger Speicher (basierend auf dieser Mathematik) und weniger Heap für Mapper konfigurieren.

Verwandte Themen