【Big Data】解决Hive查询出现Java.lang.OutMemoryError.java heap space

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 解决出现Java.lang.OutMemoryError.java heap space和FAILED:Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

一、Introduction

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

image.gif编辑

错误的原因是资源分配不够,但是错误的原因有很多,需要去查看日志文件观察具体的错误。

日志文件位置在 /tmp/root/hive.log

image.gif编辑

由此我们知道具体的错误原因是JVM资源分配不够

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

二、Method

2.1 方法一:本地模式

在执行Hive之前,将Hive设置为本地运行模式

set hive.exec.mode.local.auto=true;

image.gif

2.2 方法二:Yarn资源分配

进入yarn-site.xml修改yarn的分配资源量

vim hadoop-3.1.3/etc/hadoop/yarn-site.xml

image.gif

<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>-Xmx1024m</value>
        </property>

image.gif

2.3 方法三:Hive堆栈资源分配

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

vim apache-hive-3.1.3-bin/conf/hive-env.sh

image.gif

image.gif编辑

将资源调整到2048即可

image.gif编辑

作者在尝试到了第三种方法问题就解决了,如果还有其他方法的欢迎在评论区进行探讨交流

目录
相关文章
|
4月前
|
SQL Java API
Java一分钟之-JPA查询:JPQL与Criteria API
【6月更文挑战第14天】本文探讨了Java Persistence API (JPA)中的两种查询方式:JPQL和Criteria API。JPQL是面向对象的SQL,适用于简单查询,而Criteria API则提供类型安全的动态查询构造。文章指出了每种方法的常见问题和避免策略,如混淆实体属性与数据库字段、参数绑定错误、过度复杂化和性能问题。建议开发者根据需求选择适当的方法,并关注查询的可读性、可维护性和性能优化。
48 2
|
5天前
|
SQL Java
使用java在未知表字段情况下通过sql查询信息
使用java在未知表字段情况下通过sql查询信息
12 1
|
5月前
|
Java
PTA 航空公司VIP客户查询(Java)
PTA 航空公司VIP客户查询(Java)
35 2
|
2月前
|
存储 Java API
【Azure Developer】通过Azure提供的Azue Java JDK 查询虚拟机的CPU使用率和内存使用率
【Azure Developer】通过Azure提供的Azue Java JDK 查询虚拟机的CPU使用率和内存使用率
|
3月前
|
Java 关系型数据库 数据库
实时计算 Flink版操作报错合集之拉取全量数据时,如何解决Checkpoint失败并且报错为 "java.lang.OutOfMemoryError: Java heap space"
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
3月前
|
存储 Java 对象存储
Java虚拟机(JVM)中的栈(Stack)和堆(Heap)
在Java虚拟机(JVM)中,栈(Stack)和堆(Heap)是存储数据的两个关键区域。它们在内存管理中扮演着非常重要的角色,但各自的用途和特点有所不同。
42 0
|
4月前
|
Arthas 存储 监控
性能监控之常见 Java Heap Dump 方法
【6月更文挑战8天】性能监控之常见 Java Heap Dump 方法
119 7
|
4月前
|
安全 Java API
Java一分钟之-GraphQL:查询语言与API设计
【6月更文挑战第11天】GraphQL,一种革命性的查询语言,正在改变Web开发中的API构建和使用方式。它允许客户端按需请求数据,减少冗余,提升性能。本文概述了GraphQL的核心理念,如声明式查询、强类型和统一入口,并讨论了Java开发者常遇问题:过度查询、Schema设计和安全性。解决方案包括使用Dataloader、优化Schema和实现授权机制。通过理解原理、关注性能、重视安全和持续实践,开发者能更好地利用GraphQL构建高效API。
472 2
|
3月前
|
Java
Java 实现 Elasticsearch 查询全部数据
【7月更文挑战第7天】Java 实现 Elasticsearch 查询全部数据
|
3月前
|
SQL Java 数据库连接
Java中实现优化的数据库访问和查询性能
Java中实现优化的数据库访问和查询性能
下一篇
无影云桌面