java - Apache Hadoop 2.7.x 中容器堆和 jvm 堆之间的混淆
问题描述
我已经为 Apache Hadoop 2.7.x 配置了 3 个工作人员。我遇到了一些例外,比如
java.lang.OutOfMemoryError: GC overhead limit exceeded
经过一番搜索,我发现我应该增加我的 JVM 堆大小。为此,hadoop 中有三个参数,即1. mapred.child.java.opts
, 2. mapreduce.map.java.opts
, 3. mapreduce.reduce.java.opts
。根据我的理解,最后两个参数是mapreduce jvm,即我创建的用于在hadoop上运行的jar。我已将这些参数分别设置为 0.8%mapreduce.map.memory.mb
和0.8% 左右mapreduce.reduce.memory.mb
。
现在的问题是我可以设置的最大值mapred.child.java.opts
以及它的使用位置。这是 GC 报告的问题还是映射/减少堆的问题。
此外,在资源(尤其是内存)的上下文中,map-reduce JVM 与容器的关系是什么。mapred.child.java.opts
我可以以与 for 类似的方式给出的最大值是多少mapreduce.amp.java.opts
;它不应该更多mapreduce.map.memory.mb
。我已经查看了类似的帖子,但不幸的是它无法澄清我的理解。
解决方案
推荐阅读
- node.js - Express 中的 express.static 是什么?
- java - 在运行时执行在逻辑块内初始化的局部变量?
- botframework - BOT 是否可以使用 Skype 专用电话号码?
- angularjs - 1 个组件被多次调用。如果 angularjs 相同
- python - 重新索引 elasticsearch 并删除旧记录
- .htaccess - 如何htacess重定向除一个以外的所有页面
- php - 如何在 FPDF 中以泰米尔语字体显示值
- javascript - Echarts,如何使用visualMap
- javascript - 在模拟 iPhone 时,React iframe 组件在 Chrome 中加载时滚动窗口
- oauth-2.0 - 是否可以在 JWT 中包含 OAuth 范围?