MAPREDUCE GC频繁

问题描述:mapreduce运行的内存GC时间占比高

问题建议:

建议将map/reduce内存调大至原值一倍(最大不超过50g)
 

GC频繁简述

        GC(Garbage Collecting)是JVM特有垃圾回收机制;

        在Hadoop集群应用程序运行时,如果堆内存设置小或者小文件太多,

        都会引发频繁的GC,浪费计算资源并导致任务执行时间长甚至失败;

        如果运算时发生GC的时间占40%以上,平台认为是不健康而且有优化空间,优化思路如下:

       特别提示:没有OOM/没有异常的其他任务,请不要调整这些参数,使用默认参数配置即可;

                         没有问题的任务加参数导致资源利用率低浪费,同时部门队列上其他任务可能分配不到计算资源而等待变慢;

        1、MAP阶段GC时间40%以上,OPTS参数调整:

             mapreduce.map.cpu.vcores=$[目前值]*2

             mapreduce.map.memory.mb =$[目前值]*2

             mapreduce.map.java.opts=$[目前值] *2

        2、REDUCE阶段GC时间40%以上,OPTS参数调整:

             mapreduce.reduce.cpu.vcores=$[目前值]*2

             mapreduce.reduce.memory.mb=$[目前值]*2

             mapreduce.reduce.java.opts=$[目前值]*2

        3、MAPJOIN参数优化:

             (1)、小表放内存

             (2)、加大小表最大文件大小:

                    类似:

                    set hive.auto.convert.join.noconditionaltask.size=100000000; //多大的表可以自动触发放到内层LocalTask中,默认大小100M

                    set hive.mapjoin.smalltable.filesize=200000000; //设置mapjoin小表的文件大小为200M,小表阈值

                    但是也不能设太大,不同任务可能需要不断试验。

             (3)、多个MAPJOIN合并为一个;

       4、分段SQL分拆并发执行;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值