Yarn Terasort对7个和14个工作节点具有相同的执行时间

时间:2015-06-27 07:24:30

标签: hadoop mapreduce yarn

我有一个包含15个节点(1个主服务器和14个从服务器)的hadoop集群,HDFS的复制因子为3.我使用以下命令在YARN中运行TeraSort 10GB:

yarn jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar terasort /terasort-input /terasort-output

在我完成了14个功能节点后,我开始一次退出一个节点并再次运行TeraSort以查看执行时间如何变化。 我注意到,当我缩小时,执行时间并没有实际改变那么多,所以即使在7个从属节点上我也有类似的执行时间。

JobHistory回忆起这个值:

14个奴隶经过:32分钟,12秒;平均映射时间:4分钟,4秒;平均随机播放时间:14分钟,56秒; 平均合并时间:3分钟,50秒; 平均减少时间:11分钟,35秒;

11个奴隶经过:30分钟,6秒; 平均地图时间*:5分钟,2秒; 平均随机播放时间:6分钟,9秒; 平均合并时间:8分钟,52秒; 平均减少时间:11分钟,39秒;

8个奴隶经过:32分钟,15秒; 平均映射时间:4分钟,29秒; 平均随机播放时间:13分钟,48秒; 平均合并时间:4分钟,20秒; 平均减少时间:11分钟,11秒;

7个奴隶经过:30分钟,6秒; 平均地图时间:4分钟,28秒; 平均随机播放时间:7分钟,26秒; 平均合并时间:8分钟,26秒; 平均减少时间:11分钟,24秒;

问题:

  • 为什么我几乎有不同数量的执行时间 工人节点?
  • 如何充分利用Hadoop集群以便运行作业 14个工作节点比7个节点更快?

2 个答案:

答案 0 :(得分:0)

1.请使用较大的数据大小再次运行Terasort。

2.更大块大小,例如256M。你设置了多少减少任务?如果太小,请将其设置得更大。

答案 1 :(得分:0)

0)如果你没有指定mappers&减速器,然后默认情况下你有2个映射器& 1减少。使用-D mapred.map.tasks -D mapred.reduce.tasks
1)数据集太小,因此发生奇怪的行为结果非常低
2)检查你的IO。如果每个节点有1个旋转磁盘,那不是一个好主意。