MapReduce性能优化秘籍

    xiaoxiao2024-12-16  11

    1. MapReduce跑的慢的原因

    MapReduce 程序效率的瓶颈在于两点:

    计算机性能 CPU、内存、磁盘、网络 I/O 操作 数据倾斜 map 和 reduce 数设置不合理 map 运行时间太长,导致 reduce 等待过久 小文件过多 大量的不可分块的超大文件(例:通过 gzip 压缩后的文件) spill(溢写)次数过多 merge(map 端合并或 reduce 端合并)次数过多

    2. MapReduce优化方法

    MapReduce 优化方法主要从六个方面考虑:数据输入、Map 阶段、Reduce 阶段、IO 传输、数据倾斜问题和常用的调优参数。

    2.1. 数据输入

    合并小文件:在执行 mr 任务前将小文件进行合并,大量的小文件会产生大量的 map 任务,增大 map 任务装载次数,而任务的装载比较耗时,从而导致 mr 运行较慢。 采用 CombineTextInputFormat 来作为输入,解决输入端大量小文件的场景。

    2.2. Map阶段

    减少溢写(spill)次数:通过调整 io.sort.mb增大环形缓冲区的大小;调整 sort.spill.percent减少溢写的频率,从而减少磁盘IO。 减少合并(me
    最新回复(0)