beeline 查询报错 Java heap space 的解决方案

  SQL报错, 使用报错
内容纲要

概要描述

本文主要描述使用 beeline 查询报错 Java heap space 的解决方案。

详细说明

有时在使用 beeline 执行 SQL 时会出现这样的报错:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

可能原因

可能的原因主要有以下几种:

  1. 查询的数据量过大;

  2. 使用了全表查询,表内数据过多;

  3. 查询时返回的结果集过大,超过了 beeline 的启动内存(默认 256MB)。

解决方案

可以尝试以下操作来缓解该问题:

  1. 定时手动 echo /dev/null > /xxx/.beeline/history 清理服务器各登录账号下的history文件,如 root 用户的是 /root/.beeline/history 这个文件;

  2. 可以在执行 beeline 之前,设置一下环境变量, 如 export HADOOP_HEAPSIZE=16384 可以将 beeline 的启动内存增大到16GB。

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。