当前位置: 首页 > 知识库问答 >
问题:

错误:Java堆空间

融烨华
2023-03-14

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

$bin/hadoop jar hadoop-examples-1.0.4.jar grep input output 'dfs[a-z.]+' 

$echo $HADOOP_HEAPSIZE
2000

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

信息映射。JobClient:任务Id:尝试\u 201303251213\u 0012\u m\u000000 \u 2,状态:失败错误:Java堆空间13/03/25 15:03:43信息映射。JobClient:任务Id:trunt\u 201303251213\u 0012\u m\00000 1\u 2,状态:FAILED Error:Java heap space13/03/25 15:04:28 INFO mapred。JobClient:作业失败:#个失败的映射任务超出了允许的限制。FailedCount:1。LastFailedTask:task\u 201303251213\u 0012\u m\u000000 java。io。IOException:作业失败!位于组织。阿帕奇。hadoop。映射。JobClient。在org上运行作业(JobClient.java:1265)。阿帕奇。hadoop。示例。格雷普。在org上运行(Grep.java:69)。阿帕奇。hadoop。util。ToolRunner。在org上运行(ToolRunner.java:65)。阿帕奇。hadoop。示例。格雷普。main(Grep.java:93)

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

共有3个答案

漆雕修能
2023-03-14

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

export HADOOP_HEAPSIZE=2900
hadoop jar analytics.jar .....

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

# 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
车靖琪
2023-03-14
<property>
   <name>mapred.child.java.opts</name>
  <value>-Xmx4096m</value>
</property>

为我工作。

导出HADOOP\u OPTS=“-Xmx4096m”

不起作用

费朗
2023-03-14

显然,您已经用完了分配给Java的堆大小。所以你应该试着增加它。

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

export HADOOP_OPTS="-Xmx4096m"

或者,您可以通过在映射站点中添加以下永久设置来实现同样的效果。xml文件,该文件位于HADOOP\u HOME/conf中:

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

这会将java堆空间设置为4096 MB(4GB),如果可行的话,您甚至可以先使用较低的值进行尝试。如果这也不起作用,那么如果您的机器支持它,则增加更多,如果不支持,则移动到具有更多内存的机器并在那里尝试。因为堆空间仅仅意味着您没有足够的RAM可用于Java。

更新:对于Hadoop 2,在mapreduce中进行更改。地图Java语言改为选择。

 类似资料:
  • 我正在尝试使用scala执行小计算。Im使用datastax-4.6。我有6个节点,每个16gb RAM和8核。当我尝试执行scala程序时,它会显示以下错误。 错误ActorSystemImpl:线程[sparkDriver-akka.actor.default-dispatcher-17]关闭ActorSystem[sparkDriver]java时出现未捕获的致命错误。lang.OutOfM

  • 我正在Android Studio中开发一个Android应用程序,今天当我按下“运行”按钮时,它突然无法编译。错误如下: 错误:任务': app: pack ageInstantRunResourcesDebug'执行失败。Java堆空间 我试着清理并重建这个项目,但没有成功。

  • 我在向服务器调用API时出错。以下是日志: 附截图:Java内存使用率系统CPU使用率 我还需要知道这句话的意思: HikariPool-1-检测到线程饥饿或时钟跳跃(管家delta=50s527ms107µs731ns)。 有人能帮我解释一下这个错误吗?

  • 已尝试将MAVEN_OPTS设置为: 有什么线索可以解决吗?

  • 问题内容: 所以最近我在Eclipse中使用我的应用程序时遇到问题,在处理xml文件时出现下一条消息: 我已经阅读了尝试在eclipse.ini文件中增加以下内容: 至: 但是它将工作一段时间,而不是一个小时或一个小时左右,它将给我同样的错误,我正在使用配备4GB内存的MacBook Air。我有Eclipse SDK版本:3.7.2内部版本号:M20120208-0800,我刚刚对其进行了更新,

  • 我正在尝试使用Apache POI XSSF库解析一个大型excel文件(.xlsx)。100000行之后,它抛出堆空间错误。我试着增加记忆,但没用。是否有解决此问题的方法?或者有人可以建议我另一个库来解析大型excel文件。 谢啦!