栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 云计算 > 云平台

使用tez引擎出现内存溢出问题

云平台 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用tez引擎出现内存溢出问题

当我们使用hive引擎的时候,有时候会出现yarn调度资源内存不足或者java堆内存溢出的问题:

[Error: Error while running task ( failure ) : java.lang.OutOfMemoryError: Java heap space
[2020-12-25 15:17:34,519] {bash_operator.py:127} INFO -  at java.nio.HeapByteBuffer.(HeapByteBuffer.java:57)

第一步: 打开hive-env.sh文件,修改hadoop 堆内存大小:

export HADOOP_HEAPSIZE=3072

第二步: 打开hadoop 的yarn-site.xml文件,增加如下内容::

        yarn.scheduler.maximum-allocation-mb
        2048


        yarn.scheduler.minimum-allocation-mb
        2048


        yarn.nodemanager.vmem-pmem-ratio
        2.1



        mapred.child.java.opts
        -Xmx1024m



yarn.nodemanager.vmem-check-enabled
false

到这里一般就可以了,如果还不行,尝试使用下面第三步参数调优!

第三步: 调优(资源允许的情况下)

这个时候需要我们调整tez的参数,如下

–修改tez container大小由2G调到8G

hive.tez.container.size=8192

–TEZ MAP split最小值由16M调为64M

tez.grouping.min-size=67108864 (需要在hive-site文件中自定义新增)

–tez 设置输出排序内存大小由512M调整至2G

tez.runtime.io.sort.mb=2048

–表小于2G时把join转为MAPJOIN

hive.auto.convert.join.noconditionaltask.size=2147483648

–使用的缓冲区大小

tez.runtime.unordered.output.buffer.size-mb=512

参数调整完毕,问题解决

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/897604.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号