我有一个包含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秒;
问题:
答案 0 :(得分:0)
1.请使用较大的数据大小再次运行Terasort。
2.更大块大小,例如256M。你设置了多少减少任务?如果太小,请将其设置得更大。
答案 1 :(得分:0)
0)如果你没有指定mappers&减速器,然后默认情况下你有2个映射器& 1减少。使用-D mapred.map.tasks -D mapred.reduce.tasks
1)数据集太小,因此发生奇怪的行为结果非常低
2)检查你的IO。如果每个节点有1个旋转磁盘,那不是一个好主意。