解决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即可:

相关推荐
Francek Chen9 小时前
【大数据处理与分析】数据仓库Hive:02 数据湖
大数据·数据仓库·hive·hadoop·分布式·数据分析
Waay3 天前
什么是HBase?它和Hive有什么区别?
大数据·数据库·hive·hadoop·hdfs·hbase
fastjson_4 天前
Hive的介绍和使用
数据仓库·hive·hadoop
William Dawson9 天前
【踩坑实录|Hive1\.2\.1数据服务接口5大疑难问题调试与全方位优化方案】
java·hive·spring boot
牛奶咖啡1316 天前
大数据Hadoop运维应用实践——HIVE与Hadoop实现整合_Hive的配置安装与使用
大数据·hive·hive的配置与安装·metastore服务的配置·hiveserver2服务配置·hive的常用sql操作·beeline的使用
向夏威夷 梦断明暄18 天前
基于Tez引擎的 Hive SQL 性能优化
hive·sql·性能优化
humbinal25 天前
同时支持 gui & cli 的 parquet 文件查看工具,高性能小清新!
hive·python·rust·spark·开源·github·parquet
吾AI科技1 个月前
基于Tez引擎的 Hive SQL 性能优化
大数据·hive·性能优化·tez
abcy0712131 个月前
hive 执行器原理
hive
香山上的麻雀10081 个月前
Hive内部表(MANAGED_TABLE)的“批量删除分区”特性详解
数据仓库·hive·hadoop