码迷,mamicode.com
首页 > 其他好文 > 详细

Hadoop性能调优

时间:2015-02-16 14:22:49      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

Hadoop性能调优

 

Hadoop在处理任务时性能是否足够好,这里的性能主要包括时间和空间两个指标。调优一般要注意以下几个方面:

 

1.       输入文件尽可能的大

HDFS的默认块文件的大小为64M,假如有1000,个文件,每个文件的大小都是2.3m,那么存储这些文件需要占用1000个块,那么一共会占用64000M大小的空间,如果将这些文件合并大小为2.2G,只有36个块,占用空间会小很多。而1000个文件会产生1000个map任务,么个map任务都会造成一定的性能损失,这对以上数据如果合并成一个大文件那么执行时间是4分钟,而不合并的执行时间为33分钟。

2.       压缩文件

分布式系统中各节点的数据交换是影响整体性能的一个重要因素。Hadoop在map阶段先将数据放在缓冲区,如果数据过大则会写入磁盘,等map任务结束再从磁盘中取出复制到reduce任务节点,如果数据量较大会花费很长时间。

           一个有效的办法就是对map输出进行压缩,这样可以减少存储空间,加快在局域网传输速度,减少内存和磁盘io时间,可以设置maperd.compress.map.output=true来设置是否压缩,通过maperd.map.output.compression.condec设置压缩格式。

3.       过滤数据

在海量数据输入作业时将其中无用的数据,噪声数据和异常数据清掉,降低数据的处理规模。

4.       修该作业属性

属性mapred.tasktracker.map.tasks.maximum和mapred.tasktracker.map.tasks.maximum,这两个属相的默认值均为2,也就是说每个节点运行状态的map和reduce任务数为2,而较为理想的是在10-100个之间。通过设置一个较大数值,增加map和reduce的任务数来提高性能。

Hadoop性能调优

标签:

原文地址:http://blog.csdn.net/mapengbo521521/article/details/43851383

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!