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

相关推荐
viperrrrrrrrrr71 天前
大数据学习(36)- Hive和YARN
大数据·hive·学习
重生之Java再爱我一次1 天前
Hive部署
数据仓库·hive·hadoop
村口蹲点的阿三2 天前
Spark SQL 中对 Map 类型的操作函数
javascript·数据库·hive·sql·spark
雪芽蓝域zzs2 天前
JavaWeb开发(十五)实战-生鲜后台管理系统(二)注册、登录、记住密码
数据仓库·hive·hadoop
想做富婆2 天前
Hive: Hive的优缺点,使用方式,判断Hive是否启动(jps),元数据的存储,Hive和Hadoop的关系
数据仓库·hive·hadoop
村口蹲点的阿三2 天前
spark sql中对array数组类型操作函数列表
大数据·数据库·hive·sql·spark·database
大鳥2 天前
Apache Hive 聚合函数与 OVER 窗口函数:从基础到高级应用
hive·hadoop·apache
青云交3 天前
大数据新视界 -- Hive 数据倾斜实战案例分析(2 - 16 - 6)
大数据·hive·数据分析·解决方案·数据倾斜·电商平台·实战案例·sql 优化
青云交3 天前
大数据新视界 -- Hive 多租户资源分配与隔离(2 - 16 - 16)
大数据·hive·资源隔离·多租户·资源分配·监控评估·资源隔离机制·监控指标体系