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

相关推荐
yumgpkpm8 小时前
CMP (类ClouderaCDP7.3(404次编译) )华为鲲鹏Aarch64(ARM)信创环境多个mysql数据库汇聚的操作指南
大数据·hive·hadoop·zookeeper·big data·cloudera
夫唯不争,故无尤也2 天前
Maven创建Java项目实战全流程
java·数据仓库·hive·hadoop·maven
yumgpkpm2 天前
CMP (类Cloudera) CDP7.3(400次编译)在华为鲲鹏Aarch64(ARM)信创环境中的性能测试过程及命令
大数据·hive·hadoop·python·elasticsearch·spark·cloudera
yumgpkpm3 天前
大数据综合管理平台(CMP)(类Cloudera CDP7.3)有哪些核心功能?
hive·hadoop·elasticsearch·zookeeper·big data
板凳坐着晒太阳3 天前
Hive 删除分区语句卡死问题
数据仓库·hive·hadoop
嘉禾望岗5033 天前
hive on tez运行及hive ha搭建
数据仓库·hive·hadoop
hrrrrb4 天前
【Spring Security】Spring Security 密码编辑器
java·hive·spring
二进制_博客4 天前
spark on hive 还是 hive on spark?
大数据·hive·spark
D明明就是我5 天前
Hive 知识点梳理
数据仓库·hive·hadoop
工作中的程序员8 天前
hive sql优化基础
hive·sql