关于hadoop-env.sh的查询

93ze6v8z  于 2021-06-03  发布在  Hadoop
关注(0)|答案(0)|浏览(324)

我面临错误:java堆空间和错误:超出gc开销限制
所以我开始研究hadoop-env.sh。
所以这就是我目前的理解,如果我错了,请纠正我。

if HADOOP_HEAPSIZE=7168 in hadoop-env.sh

这将在datanode上调用datanode守护程序和tasktracker守护程序,并为每个守护程序分配7gb内存(datanode(7gb)+tasktracker(7gb)=14gb)
以及

mapred.tasktracker.reduce.tasks.maximum = 3
mapred.tasktracker.map.tasks.maximum = 6 and 
mapred.child.java.opts -Xmx1024m

所以这将调用9个子JVM,内存为1gb,总计9gb
但是tasktracker是用7gb内存调用的,所以这会发生冲突。因为tasktracker调用的tasktracker和子jvm的最大内存是7gb,但它们消耗的内存是9g。
所以发生了堆空间错误,我的计算正确吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题