简体   繁体   English

运行简单的mapreduce作业时出现错误“ java.lang.OutOfMemoryError:Java堆空间”

[英]Getting error “java.lang.OutOfMemoryError: Java heap space” while running simple mapreduce job

I have been trying to run a simple Mapreduce job for wordcount in RHEL 6 but am consistently getting this error. 我一直在尝试在RHEL 6中为单词计数运行一个简单的Mapreduce作业,但始终遇到此错误。 Please help. 请帮忙。

13/01/13 19:59:01 INFO mapred.MapTask: io.sort.mb = 100
13/01/13 19:59:01 WARN mapred.LocalJobRunner: job_local_0001
java.lang.OutOfMemoryError: Java heap space
    at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.<init>(MapTask.java:949)
    at org.apache.hadoop.mapred.MapTask$NewOutputCollector.<init>(MapTask.java:674)
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:756)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
    at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212)
13/01/13 19:59:02 INFO mapred.JobClient:  map 0% reduce 0%
13/01/13 19:59:02 INFO mapred.JobClient: Job complete: job_local_0001
13/01/13 19:59:02 INFO mapred.JobClient: Counters: 0

You probably need to increase some JVM settings for max heap and max perm space. 您可能需要增加一些JVM设置以获得最大堆和最大烫发空间。

I'd recommend running Visual VM when your Hadoop job is running so you can get some visibility into what's going on. 我建议您在Hadoop作业运行时运行Visual VM ,以便您可以了解正在发生的事情。

Are you running multiple servers? 您正在运行多台服务器吗? Maybe you're asking a single server to do too much. 也许您正在要求一台服务器做太多事情。

You can use jstat -gcutil to monitor memory usage of your JVMs. 您可以使用jstat -gcutil监视JVM的内存使用情况。 This will show you how fast is the Heap usage growing. 这将显示堆使用量增长的速度。

Further, you can also enable the GC logging, this is lightweight and will show you the same for each JVM that you instantiate: 此外,您还可以启用GC日志记录,这是轻量级的,将为您实例化的每个JVM显示相同的内容:

-XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=jvm.log -XX:+HeapDumpOnOutOfMemoryError -Xloggc:gc.log -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -showversion -XX:+ UnlockDiagnosticVMOptions -XX:+ LogVMOutput -XX:LogFile = jvm.log -XX:+ HeapDumpOnOutOfMemoryError -Xloggc:gc.log -XX:+ PrintGCTimeStamps -XX:+ PrintGCDetails -showversion

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 运行子进程时出错:java.lang.OutOfMemoryError: Java heap space - Error running child : java.lang.OutOfMemoryError: Java heap space 获取java.lang.OutOfMemoryError:使用水槽运行Twitter连接器时的Java堆空间 - Getting java.lang.OutOfMemoryError: Java heap space while running twitter connector using flume java.lang.OutOfMemoryError: Java heap space Error while running hive table scan - java.lang.OutOfMemoryError: Java heap space Error while running hive table scan java.lang.OutOfMemoryError:运行小程序的Java堆空间 - java.lang.OutOfMemoryError: Java heap space running applet java.lang.OutOfMemoryError:初始化数组时的Java堆空间 - java.lang.OutOfMemoryError: Java heap space while initialising an array 获取java.lang.OutOfMemoryError:Java堆空间 - Getting java.lang.OutOfMemoryError: Java heap space 在以下代码中获取java.lang.OutOfMemoryError:Java堆空间 - Getting java.lang.OutOfMemoryError: Java heap space in following code 获取“java.lang.OutOfMemoryError: Java 堆空间” - Getting “java.lang.OutOfMemoryError: Java heap space” JMH入门:java.lang.OutOfMemoryError:Java堆空间 - Getting started with JMH: java.lang.OutOfMemoryError: Java heap space 获取 java.lang.OutOfMemoryError : Jboss 上的 java 堆空间 - Getting java.lang.OutOfMemoryError : java Heap space on Jboss
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM