美文网首页
Hadoop优化

Hadoop优化

作者: scott_alpha | 来源:发表于2019-09-29 11:17 被阅读0次

    1.数据输入小文件处理
    a.合并小文件:对小文件进行归档、自定义inputFormat将小文件存储成sequenceFile文件
    b.采用CombineFileInputFormat来作为输入,解决输入端大量小文件场景
    c.对于大量小文件job,可以开启JVM重用
    2.map阶段
    a.增大环形缓冲区大小,由100M扩大到200M
    b.增大环形缓冲区溢写的比例,由80%扩大到90%
    c.减少对溢写文件的merge次数
    d.不影响实际业务的前提下,采用combiner提前合并,减少IO
    3.reduce阶段
    a.合理设置map和reduce数:两个都不能设置太多或者太少。太少,会导致task等待,延长处理时间;太多,会导致map、reduce任务间竞争资源,造成处理超时等错误。
    b.设置map、reduce共存:调整slowstart、completedmaps参数,使map运行到一定程度后,reduce也开始运行,减少reduce的等待时间。
    c.规避使用reduce,因为reduce在用于连接数据集的时候会产生大量的网络消耗
    d.增加每个reduce去map中拿数据的并行数
    e.集群性能可以的前提下,增大reduce端存储数据内存的大小
    4.IO传输
    a.采用数据压缩的方式,减少网络IO的时间。安装snappy和lzo压缩编码器
    b.使用sequenceFile二进制文件
    5.整体
    a.map task默认内存为1G,可以增加map task内存大小为4-5G
    b.reduce task默认内存大小为1G,可以增加reduce task内存大小为4-5G
    c.可以增加maptask的CPU核数,增加reduce task的CPU核数
    d.增加每个container的CPU核数和内存大小
    e.调整每个map task和reduce task最大重试次数

    相关文章

      网友评论

          本文标题:Hadoop优化

          本文链接:https://www.haomeiwen.com/subject/qzgtpctx.html