Ich habe von vielen Hadoop-Seiten erfahren, dass in Hadoop 2 viele Mapred-Site-Konfigurationen nicht mehr funktionieren und stattdessen gam-site.xml verwendet wird. Aber wenn ja, warum bleibt mapred-site.xml erhalten?Ist mapred-site.xml total nutzlos in Hadoop 2 mit YARN
Antwort
Für Hadoop v2 wird mapred-site.xml immer noch verwendet. Sie haben eine neue Eigenschaft namens mapreduce.framework.name, sein Wert ist die Common Language Runtime Framework MapReduce Jobs für die Ausführung kann ein von lokalen, klassischen oder Garn sein. Wenn Sie local verwenden, werden Ihre Mapper- und Reducer-Prozesse in derselben JVM ausgeführt, normalerweise wird dies für Debugging-Zwecke ausgeführt (es konnte nur ein Reducer mit local Runtime gestartet werden). Wenn Sie classic verwenden, wird die Tradition MR v1 in Aktion sein und MR v2 wird in Aktion sein, wenn Sie Garn erwähnen.
Wenn Sie die YARN-Laufzeit für MapReduce-Jobs verwenden, werden Ihre Mapper- und Reducer-Prozesse in Containern generiert. Die mapred-site.xml-Datei kann verwendet werden, um Systemressourcen (z. B. Speicher und v-cpu) für MapReduce-Container anzugeben. Beachten Sie, dass die Obergrenze für Speicher und v-CPU für Container in der Datei gam-site.xml festgelegt ist. Sehen Sie sich die folgenden Eigenschaften in mapred-site.xml an.
- mapreduce.map.memory.mb
- mapreduce.map.cpu.vcores
- mapreduce.reduce.memory.mb
- mapreduce.reduce.cpu.vcores
mapred-site.xml ist noch in Gebrauch. Suchen Sie nach here für alle Standardwerte.
Suchen Sie nach here für neue Eigenschaften in Hadoop V2 als Ersatz für veraltete Eigenschaften von Hadoop V1.
paar Beispiele:
mapred.map.child.env \t mapreduce.map.env
mapred.map.child.java.opts \t mapreduce.map.java.opts
mapred.map.child.log.level \t mapreduce.map.log.level
mapred.map.max.attempts \t mapreduce.map.maxattempts
mapred.map.output.compression.codec \t mapreduce.map.output.compress.codec
mapred.mapoutput.key.class \t mapreduce.map.output.key.class
mapred.mapoutput.value.class \t mapreduce.map.output.value.class
mapred.mapper.regex.group \t mapreduce.mapper.regexmapper..group
mapred.mapper.regex \t mapreduce.mapper.regex
mapred.map.task.debug.script \t mapreduce.map.debug.script
mapred.map.tasks \t mapreduce.job.maps