解决HiveSQL查询出现Java.lang.OutMemoryError.java heap space

使用Hive时,出现了以下问题时:

这个问题有的是没有资源导致的,有时的是因为计数器太多,超出了MapReduce的计算数的最大值。所以这个时候一定要看系统日志:/tmp/hadoop/hive.log

关于日志路径的说明:中间的hadoop是当前系统登录的用户

这篇文章主要解决资源不足的情况:

故知具体错误原因为JVM资源分配不够

接下来可以尝试这几种方法

方法一:调整Yarn资源分配

编辑yarn-site.xml修改yarn的分配资源量

复制代码
vim /opt/ha/hadoop-3.1.3/etc/hadoop/yarn-site.xml

添加如下配置:

XML 复制代码
<property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>4096</value>
</property>
<property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>4096</value>
</property>
<property>
        <name>yarn.nodemanager.vmem-pmem-ratio</name>
        <value>2.1</value>
</property>
<property>
        <name>mapred.child.java.opts</name>
        <value>-Xmx2048m</value>
</property>

分发到其他服务器,重启yarn

方法二:Hive堆栈资源分配

查看hive-env.sh可以发现默认分配给Hive堆栈的资源是256MB,这个才是最根本的问题

调整资源,设置为4096即可:

相关推荐
泡干脆面就番茄6 小时前
Hive入门:架构解析与安装部署实录
大数据·数据仓库·hive·hadoop·架构
yyk333246 小时前
Hive架构
hive·hadoop·架构
古法老登瞎折腾1 天前
Hive 源码导读(三):都是 SELECT,为什么有的查询不需要 YARN?
数据仓库·hive·hadoop
troy1281 天前
Java Web 常见面试题(2026 最新整理)
java·前端·hive
高级程序源1 天前
hive电商平台商品销售数据分析与趋势预测45659-计算机课程设计、毕业设计
vue.js·hive·spring boot·mysql·数据分析·django·课程设计
陈年老古董2 天前
Hive 函数学习笔记(下):窗口函数与经典案例
hive·笔记·学习
爱吃火鸡面呀2 天前
DataX 实战:使用 HDFS Reader 读取 Hive ORC 表并输出到 Stream
hive·hadoop·hdfs
yumgpkpm2 天前
CDP 7.3.1(Cloudera Runtime 7.3.1)VS Acceldata ODP 3.3.6.4 核心引擎详细版本对比
大数据·hive·hadoop·postgresql·zookeeper·spark·hbase
yumgpkpm3 天前
Acceldata ODP(Open Data Platform)3.3.6.4(RHEL9)保姆级完整安装手册
大数据·人工智能·hive·hadoop·kafka·hbase·cloudera
陈年老古董3 天前
Hive 函数学习笔记(上):单行函数与炸裂函数
hive·笔记·学习