一、 实验环境
1个master节点, 16个slave节点: CPU:8GHZ , 内存: 2G
网络:局域网
二、 实验描述
通过Hadoop自带的Terasort排序程序,测试不同的map task和reduce task数量,对Hadoop性能的影响。
实验数据由程序中的teragen程序生成,数据量为1GB和10GB。
通过设置mapred.min.split.size,从而调节map task的数量;设置mapred.reduce.tasks,从而调节reduce task的数量;
dfs.replication的值设为3,其它参数默认。
三、 实验结果与分析
Ø 实验一
表1、改变reduce task(数据量为1GB)
| Map task = 16 |
||||||||||
| Reduce task |
1 |
5 |
10 |
15 |
16 |
20 |
25 |
30 |
45 |
60 |
| 总时间 |
892 |
146 |
110 |
92 |
88 |
100 |
128 |
101 |
145 |
104 |
| Map 时间 |
24 |
21 |
25 |
50 |
||||||

在1个master和16个slave节点的Hadoop环境中,通过Terasort实验研究了不同数量的map和reduce任务对性能的影响。实验表明,reduce task数量接近或略大于节点数时,性能最优;而map任务数量过多会导致性能下降。Killed map Task Attempts主要由speculative执行机制引起,可通过设置mapred.map.tasks.speculative.execution为false优化。1G和10G数据中,Input Split Size设为128M时性能最佳,且数据量增大可能导致更多Failed tasks。
最低0.47元/天 解锁文章
396

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



