在应用软件的过程中我们总会遇到各种个各样的问题,今天我们就来解决hive客户端查询报堆内存溢出的问题。
hive> select * from t_test where ds=20150323 limit 2;
OK
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
问题原因: hive堆内存默认为256M
这个问题的解决方法为:
修改/usr/lib/hive/bin/hive-config.sh文件 中
# Default to use 256MB
export HADOOP_HEAPSIZE=${HADOOP_HEAPSIZE:-256}
将上面256调大就行.
另外:
在Hive-site.xml里添加如下配置后,反而报内存溢出,去掉了就不报内存溢出了,目前还没找到原因,把它注释掉反而不报了.
<property>
<name>mapred.child.java.opts</name>
<value>-Xmx4096m</value>
</property>