如何测试hadoop的工作表现

时间:2015-05-04 11:03:19

标签: java hadoop mapreduce

我已经为Apache Hadoop实现了一个基于SON的频繁项目集map-reduce算法。现在我需要测试它的性能,即使用不同的数据集研究它的执行时间如何变化,并将其与算法的不同版本进行比较,以便选择最佳的算法。

因此,我在6机群集上运行了几个作业,我注意到即使保持相同的数据集和相同的算法版本,执行时间也会有很大差异。我得出结论,在这种类型的环境中,执行时间是不可预测的,因为计算运行的机器中请求数据的(不)可用性。

如何以可靠的方式运行此类测试?

1 个答案:

答案 0 :(得分:0)

常见的是,在相同的Hadoop作业中,对于具有相同配置的相同数据集,有时会一直变化。主要原因可能是处理Map / Reduce任务的执行容器的可用性,这是不确定的。

作业的时间耗尽可能是不确定的,因为运行作业的群集可能会忙于其他作业,有时候当你运行作业时,你的工作可能会得到很少的容器来执行。

如果您正在对作业,数据集或配置进行基准测试,那么首先要确保群集非常免费,并且所有节点都已启动并运行。

我们总能注意观察工作绩效的一件事是从工作完成页面考虑Average Map TimeAverage Reduce TimeAverage Shuffle TimeAverage Merge Time的值,这些指标为您提供跨多个作业运行的可靠统计数据由于资源可用性,Elapsed时间值可能会有所不同。

enter image description here