2016-04-30 21 views
0

想知道兩個參數(mapreduce.map.memory.mb和mapreduce.map.java.opts)之間有什麼關係,有時我看到人們設置mapreduce.map.memory.mb爲2048,mapreduce.map.java.opts爲-Xmx4G -Xms4G -server,想知道在這種情況下什麼是上限?謝謝。Hadoop參數mapreduce.map.memory.mb和mapreduce.map.java.opts

問候, 林

回答

1

mapreduce.map.memory.mb是地圖資源限制。

mapreduce.map.java.opts是地圖的子jvms的堆大小。

Hadoop設置更多地是資源執行/控制,而Java更多是資源配置。

Java堆設置應該小於Hadoop容器內存限制,因爲我們需要爲Java代碼保留內存。通常,建議爲代碼保留20%的內存。

+0

謝謝shekhar,投票了。 :)對於你的評論,「mapreduce.map.memory.mb是地圖的資源限制」,正如你也提到Hadoop容器,並且想知道你的意思是mapreduce.map.memory.mb是Hadoop地圖容器的限制嗎? –

+1

@LinMa thats,mapreduce.map.memory.mb是紗線映射器容器的限制。如果超出此限制,Hadoop將終止映射器。 – banjara

+0

謝謝謝爾,投票了。除了JVM本身,Hadoop地圖容器的內存中的任何其他額外用法(所以這就是爲什麼您說爲代碼保留20%的內存)? –