我已经用3个worker配置了ApacheHadoop2.7.x。我遇到过一些例外,比如
java.lang.OutOfMemoryError: GC overhead limit exceeded
经过一番搜索,我发现应该增加jvm堆的大小。为此,hadoop中有三个参数,即 1. mapred.child.java.opts
, 2. mapreduce.map.java.opts
, 3. mapreduce.reduce.java.opts
. 据我所知,最后两个参数是mapreducejvm,即我创建的运行在hadoop上的jar。我将这些参数设置为 mapreduce.map.memory.mb
以及 mapreduce.reduce.memory.mb
分别。
现在的问题是我可以设置的最大值 mapred.child.java.opts
以及它的用途。这是gc报告或Map/减少堆的问题吗。
另外,在资源(特别是内存)的上下文中,map reduce jvm与容器之间的关系是什么。我能给的最大值是多少 mapred.child.java.opts
以与…相似的方式 mapreduce.amp.java.opts
; 不应该再多了 mapreduce.map.memory.mb
. 我已经看过一篇类似的文章,但不幸的是它不能澄清我的理解。
暂无答案!
目前还没有任何答案,快来回答吧!