大数据Hive的beyond the ‘VIRTUAL‘ memory limit

1. 错误

在进行hive对任务的mapred过程的时候,时常出现如下的错误:
[2019-09-30 03:18:56.709]Container [pid=11578,containerID=container_1569779921172_0010_01_000005] is running 261372416B beyond the ‘VIRTUAL’ memory limit. Current usage: 106.1 MB of 1 GB physical memory used; 2.3 GB of 2.1 GB virtual memory used. Killing container.
(物理内存够用,但虚拟内存超过限制)

2.原因

hive启动堆栈内存不足

3. 解决办法

方法1(推荐):
(1)在hadoop下的etc/hadoop中的配置文件hadoop-env.sh中修改如下配置:
修改为:
export HADOOP_CLIENT_OPTS=“-Xmx2048m $HADOOP_CLIENT_OPTS”
在这里插入图片描述
(2)在hive下的bin目录下的配置文件hive-config.sh中修改如下配置:

修改为:

export HADOOP_HEAPSIZE=${HADOOP_HEAPSIZE:-2048}
在这里插入图片描述

方法2: 直接修改虚拟机的内存,有2G扩大4G,然后重启服务。
如果不生效,使用方法2。
方法3:
修改mapred-site.xml文件:添加以下配置

<property>
  <name>mapreduce.map.memory.mb</name>
  <value>1536</value>
</property>
<property>
  <name>mapreduce.map.java.opts</name>
  <value>-Xmx1024M</value>
</property>
<property>
  <name>mapreduce.reduce.memory.mb</name>
  <value>1536</value>
</property>
<property>
  <name>mapreduce.reduce.java.opts</name>
  <value>-Xmx1024M</value>
</property>

其中的数值1536MB是根据机器的物理内存2GB*0.75=1536MB。
重启集群服务即可解决。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 大数据Hive离线计算开发实战教案主要包括以下几个方面的内容: 1. 前期数据准备和环境搭建:介绍如何准备数据集、搭建Hadoop分布式环境以及安装和配置Hive。 2. Hive表的创建与管理:讲解如何通过Hive创建和管理表,包括表的分区、桶和索引等操作。同时介绍如何通过HiveQL语言对数据进行增删改查。 3. 数据清洗与转换:介绍如何使用Hive进行数据清洗和转换,包括数据去重、空值处理、数据格式转换等操作。同时还可以引导学员使用Hive内置函数和自定义函数对数据进行进一步处理和分析。 4. 数据抽取与加载:介绍如何使用Hive进行数据的抽取和加载,包括从其他数据库、Hadoop集群和外部文件系统中导入数据,以及将Hive查询结果导出到其他存储系统。 5. 数据统计与分析:介绍如何使用Hive进行数据统计和分析,包括使用聚合函数、窗口函数和分组操作进行数据分析,以及使用HiveQL编写复杂的数据查询和报表生成。 6. 性能优化与调优:介绍如何通过优化Hive表的设计、调整配置参数、使用分区和桶以及进行数据压缩等手段来提高Hive查询的性能。 7. 实际案例实战:提供一些实际的大数据案例,并引导学员使用Hive进行数据处理和分析。通过实际的案例演练,让学员更好地理解和掌握Hive离线计算的应用。 这些内容将通过理论讲解、实验操作和案例实战相结合的方式进行教学,帮助学员全面了解和掌握Hive离线计算的开发实战技巧,提升其在大数据领域的能力水平。 ### 回答2: 大数据Hive离线计算开发实战教案主要包括以下内容。 首先,教案将介绍Hive的基本概念和原理,包括Hive的架构、数据模型以及HiveQL查询语言的基本语法。 其次,教案将详细讲解Hive的数据导入与导出,包括如何使用Hive将数据从Hadoop集群导入到Hive表中,以及如何将Hive表中的数据导出到其他存储系统。 接着,教案将介绍Hive的表管理和分区设计,包括如何创建Hive表、修改表结构和删除表,以及如何对Hive表进行分区设计来优化查询性能。 此外,教案还将探讨Hive的性能调优和优化技术,如何通过调整Hive的配置参数、使用Hive的索引和分桶等方法来提高查询效率。 最后,教案将提供实际的案例和练习,来帮助学员理解和应用所学的知识。通过实际操作,学员将学会使用Hive进行离线计算开发,包括数据导入导出、表管理、分区设计以及性能调优等方面的技能。 综上所述,大数据Hive离线计算开发实战教案将通过理论讲解、实际操作和案例练习等方式,帮助学员掌握Hive的基本原理和技术,并能够应用Hive进行离线计算开发。通过学习这个教案,学员将能够熟练使用Hive进行数据处理和分析,并能够优化Hive查询性能以提高工作效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值