Vollständige Nutzung aller Kerne im pseudo-verteilten Hadoop-Modus

8

Ich führe eine Aufgabe im pseudo-verteilten Modus auf meinem 4-Kern-Laptop aus. Wie kann ich sicherstellen, dass alle Kerne effektiv genutzt werden? Momentan zeigt mein Job-Tracker an, dass jeweils nur ein Job ausgeführt wird. Bedeutet das, dass nur ein Kern verwendet wird?

Das Folgende sind meine Konfigurationsdateien.

conf / core-site.xml:

%Vor%

conf / hdfs-site.xml:

%Vor%

conf / mapped-site.xml:

%Vor%

BEARBEITEN: Laut der Antwort muss ich die folgenden Eigenschaften in mapred-site.xml hinzufügen

%Vor%     
Nemo 02.12.2011, 13:47
quelle

2 Antworten

3

mapred.map.tasks und mapred.reduce.tasks werden dies kontrollieren, und (ich glaube) in mapred-site.xml gesetzt werden. Dies legt diese jedoch als clusterweite Standardwerte fest; In der Regel würden Sie diese pro Job konfigurieren. Sie können die gleichen Parameter in der Java-Befehlszeile mit -D

setzen     
Sean Owen 02.12.2011, 13:53
quelle
6
Die Eigenschaften

mapreduce.tasktracker.map.tasks.maximum und mapreduce.tasktracker.reduce.tasks.maximum steuern die Anzahl der Karten und reduzieren Aufgaben pro Knoten. Beginnen Sie bei einem 4-Core-Prozessor mit 2/2 und ändern Sie bei Bedarf die Werte. Ein Slot ist eine Map oder ein Reduce-Slot. Wenn Sie die Werte auf 4/4 setzen, startet das Hadoop-Framework 4 Maps und 4 Tasks werden gleichzeitig reduziert. Insgesamt 8 Aufgaben zum Zuordnen und Reduzieren werden gleichzeitig auf einem Knoten ausgeführt.

Die Eigenschaften

mapred.map.tasks und mapred.reduce.tasks steuern die Gesamtzahl der Aufgaben zum Zuordnen / Reduzieren für den Job und nicht die Anzahl der Aufgaben pro Knoten. Außerdem ist mapred.map.tasks ein Hinweis auf das Hadoop-Framework und die Gesamtzahl der Map-Tasks für den Job entspricht der Anzahl der InputSplits.

    
Praveen Sripati 02.12.2011 16:27
quelle

Tags und Links