2016-04-30 9 views
0

fragen, was sind die Beziehung zwischen den beiden Parametern (mapreduce.map.memory.mb und mapreduce.map.java.opts), und manchmal habe ich Siehe Leute setup mapreduce.map.memory.mb um 2048 und mapreduce.map.java.opts um -Xmx4G -Xms4G -server zu sein, frage dich, was ist die obere Grenze gebunden in diesem Fall? Vielen Dank.Hadoop Parameter mapreduce.map.memory.mb und mapreduce.map.java.opts

Grüßen, Lin

Antwort

1

mapreduce.map.memory.mb ist für Karten Ressourcengrenze.

mapreduce.map.java.opts ist Heap-Größe für untergeordnete jvms von Karten.

Die Hadoop Einstellung ist eher eine Ressource Durchsetzung/Controlling ein und Java ist eher eine Ressourcenkonfiguration ein.

Die Java-Heap-Einstellungen sollten kleiner als die Hadoop Container Speichergrenze sein, weil wir Reservespeicher für Java-Code benötigen. Normalerweise wird empfohlen, 20% Speicher für Code zu reservieren.

+0

Danke shekhar, stimmen auf. :) Für Ihre Kommentare, "mapreduce.map.memory.mb ist Ressourcenlimit für Karten", wie Sie auch Hadoop-Container erwähnt, und fragen, ob Sie mapreduce.map.memory.mb ist das Limit für Hadoop-Kartencontainer? –

+1

@LinMa das ist richtig, mapreduce.map.memory.mb ist Limit für Garn Mapper-Container. Wenn dieses Limit überschritten wird, wird Hadoop den Mapper beenden. – banjara

+0

Danke shekhar, Stimme hoch. Abgesehen von JVM selbst, jede andere zusätzliche Verwendung im Speicher von Hadoop-Kartencontainern (deshalb haben Sie gesagt, dass Sie 20% Speicher für Code reservieren)? –