每日积累
Hadoop的优化
HDFS的小文件的影响
(1)影响NameNode的寿命,因为文件的元数据存储在NameNode的内存中
(2)影响计算引擎的任务数量,每一个小文件都会生成一个Map任务
1)从数据的输入方面优化
(1)合并小文件:对小文件进行归档(Har)、自定义InputFormat 将文件存储为SequenceFile文件
(2)采用CombineFileInput作为输入,解决输入端大量小文件的场景
(3)大量的小文件,可以开启JVM重用
Map阶段
(1)增加环形缓冲区的大小 由100M扩大到200M
(2)增大环形缓冲区溢写的比例 80%-90%
(3)减少对溢写文件的merge次数
(4)使用Combiner进行提前合并(不影响业务逻辑的情况下)
reduce阶段
(1)设置合理的Map和reduce的数量
(2)设置Map和reduce的共存,调整slowstart.completedmaps map运行到一定程度后,reduce也开始运行
(3)规避使用reduce,reduce在连接数据集时会产生大量的网络消耗
(4)增加每个reduce去Map中拿数据的并行数
IO传输
(1)采用压缩的方式 使用snappy和LZOP
(2)使用SeuenceFile二进制文件
1446

被折叠的 条评论
为什么被折叠?



