Apache Hadoop 2.7.x中的容器堆和jvm堆之间的混乱

时间:2019-01-16 05:27:03

标签: java hadoop jvm out-of-memory hadoop2

我已经用3个工作程序配置了Apache Hadoop2.7.x。我遇到了

这样的异常
java.lang.OutOfMemoryError: GC overhead limit exceeded

经过search之后,我发现我应该增加JVM堆大小。为此,hadoop中有三个参数,分别是1. mapred.child.java.opts2. mapreduce.map.java.opts3. mapreduce.reduce.java.opts。根据我的理解,最后两个参数是mapreduce jvm,即我创建的在hadoop上运行的jar。我分别将这些参数设置为mapreduce.map.memory.mbmapreduce.reduce.memory.mb的0.8%。

现在的问题是我可以为mapred.child.java.opts设置什么最大值以及在哪里使用它。这是GC报告或映射/减少堆的问题吗?

在资源(即特别是内存)的上下文中,map-reduce JVM与容器的关系又是什么?我可以为mapred.child.java.opts赋予mapreduce.amp.java.opts的最大值?不应超过mapreduce.map.memory.mb。 我已经审查了类似的post,但很遗憾,它无法阐明我的理解。

0 个答案:

没有答案