Hadoop执行报Java内存不足错误

服务器是一个云服务器,内存为1G,CPU为1核。
然后执行一个Hadoop本身自带的example报错的。报错信息如下:

There is insufficient memory for the Java Runtime Environment to continue.

Native memory allocation (mmap) failed to map 12288 bytes for committing reserved memory.

执行的命令是:
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar grep /input/hadoop/core-site.xml /user/test1 'dfs[a-z.]+'

3个回答

free -m看看服务器有没有swap

没有的话建议做一个2G的swap文件,毕竟1G内存不是很够用

图片说明

shikenian520
克念 其实这种方式还是会造成运行mapreduce的时候非常慢,不过总归算是能跑了。
2 年多之前 回复

Hadoop 2.7.5
hadoop-env.sh
export HADOOP_PORTMAP_OPTS="-Xmx512m $HADOOP_PORTMAP_OPTS"
export HADOOP_CLIENT_OPTS="-Xmx512m $HADOOP_CLIENT_OPTS"
大小改成你需要的

shikenian520
克念 非常感谢,这种方式比较好,不过主要问题还是我的内存比较小,所以加swap分区的方式可能更加优一点
2 年多之前 回复

hadoop默认内存1G,所以去配置文件把内存降低就行了

shikenian520
克念 哦,能够说具体点吗?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐