gpt4 book ai didi

java - Hadoop 堆分配

转载 作者:太空宇宙 更新时间:2023-11-04 03:51:33 25 4
gpt4 key购买 nike

我在 Hadoop 2.5.1 中遇到问题,没有增加我请求的堆空间。 Hadoop 似乎不尊重 mapred-site.xml 文件中的 mapred.child.java.opts 属性。

在我的工作中,我正在做以下事情:

R = new int[height * width];
G = new int[height * width];
B = new int[height * width];

根据图像的大小,我通过作业崩溃说

原因:java.lang.OutOfMemoryError:Java堆空间

这是可以理解的。我需要增加堆空间,但由于某种原因 Hadoop 不想尊重我的 mapred-site.xml 文件中的更改。

我将其添加到我的 mapred-site.xml 中并重新启动

 <property>
<name>mapred.child.java.opts</name>
<value>-Xmx12072m</value>
</property>

当这不起作用时,我将其添加到我的 mapred-env.sh 中并重新启动

export HADOOP_JOB_HISTORYSERVER_HEAPSIZE=4000

当这不起作用时,我将其添加到我的yarn-env.sh中并重新启动

JAVA_HEAP_MAX=-Xmx4000m

当这不起作用时,我将其添加到我的yarn-env.sh中并重新启动

YARN_HEAPSIZE=4000

当这不起作用时,我将其添加到我的 hadoop-env.sh 中并重新启动

export HADOOP_HEAPSIZE=4000
export HADOOP_NAMENODE_INIT_HEAPSIZE="3000"

我已使用 start/stop-dfs.sh start/stop-all.sh start/stop-yarn.sh 及其组合重新启动。我已经重新启动了服务器,但尚未看到任何更改产生影响。

我不知道自己能做什么或还能改变什么。

有什么方法可以确定作业中的堆大小,以便我可以尝试调试它吗?

最佳答案

你试过这个吗?:

export HADOOP_OPTS="-Xmx12072m" 

我发现您已经尝试更改mapred-site.xml(这是我的另一个选择)。

如果您先尝试使用较低的值并看看它是否有效,怎么样?

可能您没有足够的 RAM 可用于 Java,而您正在尝试提供超出其所能达到的内存。如果是这种情况,那么您将需要移至具有更多内存的计算机并在那里尝试。

祝你好运!

关于java - Hadoop 堆分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26151248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com