首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >错误: Java堆空间

错误: Java堆空间
EN

Stack Overflow用户
提问于 2013-03-25 15:43:10
回答 4查看 44.7K关注 0票数 17

在Ubuntu中,当我运行hadoop示例时:

代码语言:javascript
复制
$bin/hadoop jar hadoop-examples-1.0.4.jar grep input output 'dfs[a-z.]+' 

$echo $HADOOP_HEAPSIZE
2000

在日志中,我得到的错误如下:

信息mapred.JobClient:任务Id : attempt_201303251213_0012_m_000000_2,状态:失败错误: Java堆空间 13/03/25 15:03:43信息mapred.JobClient:任务Id :attempt_201303251213_0012_m_000001_2,状态:失败错误: Java堆空间13/03/25 15:04:28信息mapred.JobClient:作业失败:失败映射任务数超过允许的限制。FailedCount: 1. LastFailedTask: task_201303251213_0012_m_000000 java.io.IOException:作业失败!at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1265) at org.apache.hadoop.examples.Grep.run(Grep.java:69) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) at org.apache.hadoop.examples.Grep.main(Grep.java:93)

让我们知道问题出在哪里。

EN

回答 4

Stack Overflow用户

发布于 2013-03-25 17:45:43

显然,您已经用完了分配给Java的堆大小。因此,您应该尝试增加该值。

为此,您可以在执行hadoop命令之前执行以下命令:

代码语言:javascript
复制
export HADOOP_OPTS="-Xmx4096m"

或者,您可以通过在mapred-site.xml文件中添加以下永久设置来实现相同的功能,该文件位于HADOOP_HOME/conf/中:

代码语言:javascript
复制
<property>
    <name>mapred.child.java.opts</name>
    <value>-Xmx4096m</value>
</property>

这将设置您的java堆空间为4096MB(4 MB ),如果有效,您甚至可以先尝试使用较低的值。如果这也不起作用,那么在你的机器支持的情况下增加更多的内存,如果不支持,那么转移到有更多内存的机器上并在那里尝试。因为堆空间只意味着没有足够的RAM可供Java使用。

更新:用于Hadoop 2+的,改为在mapreduce.map.java.opts中进行更改。

票数 45
EN

Stack Overflow用户

发布于 2013-10-18 07:08:26

代码语言:javascript
复制
<property>
   <name>mapred.child.java.opts</name>
  <value>-Xmx4096m</value>
</property>

这对我很有效。

导出HADOOP_OPTS="-Xmx4096m“

不起作用

票数 7
EN

Stack Overflow用户

发布于 2015-08-01 05:58:07

使用Hadoop 2.5.0-cdh5.2.0,我可以更改本地(顺序) java进程的堆大小:

代码语言:javascript
复制
export HADOOP_HEAPSIZE=2900
hadoop jar analytics.jar .....

它工作的原因是/usr/lib/hadoop/libexec/hadoop-config.sh

代码语言:javascript
复制
# check envvars which might override default args
if [ "$HADOOP_HEAPSIZE" != "" ]; then
  #echo "run with heapsize $HADOOP_HEAPSIZE"
  JAVA_HEAP_MAX="-Xmx""$HADOOP_HEAPSIZE""m"
  #echo $JAVA_HEAP_MAX
fi
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15609909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档