Hadoop运行Mapreduce作业时报错:java.lang.OutOfMemoryError: Java heap space
2014-07-23 17:27
696 查看
一、概述
当在Hadoop上运行Mapreduce作业来处理稍微大一点的数据量时,都会遇到报错:java.lang.OutOfMemoryError: Java heap space的问题。我现在用的是CDH4,是基于Cloudera Manager来安装的,所以配置文件都是默认的,没有手动改过配置。
二、问题原因
1、原始的Hadoop集群中的mapred-site.xml的配置值很小,202058436字节=192M
2、由于是基于Clousera Manager来安装的,所以所有的服务的都必须通过它来启动,这与apache hadoop很不一样。所有的配置也都要通过Cloudera manager来修改。我曾经尝试在安装目录下修改,然后启动服务,可是当启动服务之后,所有的配置又还原成原来的样子了,反正修改不成功,具体原因我目前还不知道。
三、解决办法
1、我通过Cloudera Manager管理界面来修改JVM参数,在每个节点的Tasktracker设置mapred.child.java.opts参数为3G内存,然后很着急的把Hadoop集群重启,接着马上把之前的作业再重提交上去,大概等了40分钟,那个JOB终于又报内存溢出了,让我很纠结,之后静下心来想一想,我自己打包的那个jar文件里又有三个配置文件core-site.xml,hdfs-site.xml,mapred-site.xml。在mapred-site.xml里的那个JVM参数并没有改过来,其实Hadoop运行时是以Client提交的配置信息为准的,集群的配置信息将会被覆盖掉。
最终把我自己打包的那个jar包里的mapred-site.xml里修改mapred.child.java.opts参数如下,然后重新放到集群上跑,大概只花7分钟就跑完了。
当在Hadoop上运行Mapreduce作业来处理稍微大一点的数据量时,都会遇到报错:java.lang.OutOfMemoryError: Java heap space的问题。我现在用的是CDH4,是基于Cloudera Manager来安装的,所以配置文件都是默认的,没有手动改过配置。
二、问题原因
1、原始的Hadoop集群中的mapred-site.xml的配置值很小,202058436字节=192M
<property> <name>mapred.child.java.opts</name> <value> -Xmx202058436</value> </property>
2、由于是基于Clousera Manager来安装的,所以所有的服务的都必须通过它来启动,这与apache hadoop很不一样。所有的配置也都要通过Cloudera manager来修改。我曾经尝试在安装目录下修改,然后启动服务,可是当启动服务之后,所有的配置又还原成原来的样子了,反正修改不成功,具体原因我目前还不知道。
三、解决办法
1、我通过Cloudera Manager管理界面来修改JVM参数,在每个节点的Tasktracker设置mapred.child.java.opts参数为3G内存,然后很着急的把Hadoop集群重启,接着马上把之前的作业再重提交上去,大概等了40分钟,那个JOB终于又报内存溢出了,让我很纠结,之后静下心来想一想,我自己打包的那个jar文件里又有三个配置文件core-site.xml,hdfs-site.xml,mapred-site.xml。在mapred-site.xml里的那个JVM参数并没有改过来,其实Hadoop运行时是以Client提交的配置信息为准的,集群的配置信息将会被覆盖掉。
最终把我自己打包的那个jar包里的mapred-site.xml里修改mapred.child.java.opts参数如下,然后重新放到集群上跑,大概只花7分钟就跑完了。
<property> <name>mapred.child.java.opts</name> <value> -Xmx3221225472</value> </property>
相关文章推荐
- [hadoop异常] eclipse中运行mapreduce 异常 --java.lang.OutOfMemoryError: Java heap space
- Hadoop 运行作业java堆溢出:java.lang.outofmemoryerror: java heap space hadoop
- hadoop Job 运行错误 java.lang.OutOfMemoryError: Java heap space
- Win7+Eclipse+Hadoop 运行WordCount报错:java.lang.OutOfMemoryError: Java heap space
- Spark 运行出现java.lang.OutOfMemoryError: Java heap space
- Eclipse运行程序提示:Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
- Hadoop 故障:java.lang.OutOfMemoryError: Java heap space
- 解决Hadoop运行jar包时MapReduce任务启动前OutOfMemoryError:Java heap space问题
- Java程序运行时报错 Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
- hadoop中java.lang.OutOfMemoryError: Java heap space
- 运行的程序时,出现内存不足时的解决方式Exception in thread "main" java.lang.OutOfMemoryError: Java heap space(转)
- hadoop :java.lang.OutOfMemoryError: Java heap space
- 运行web项目报 java.lang.OutOfMemoryError: Java heap space
- hadoop中java.lang.OutOfMemoryError: Java heap space
- hadoop在执行时出现 Caused by: java.lang.OutOfMemoryError: Java heap space
- Mtalab 运行问题:java.lang.OutOfMemoryError:Java heap space
- Hadoop 故障:java.lang.OutOfMemoryError: Java heap space
- eclipse使用hadoop插件出现java.lang.OutOfMemoryError: Java heap space
- java.lang.OutOfMemoryError:Java heap space解决方法(项目中直接运行main方法,做案例,没有启动tomcat的情况)
- hadoop :java.lang.OutOfMemoryError: Java heap space