在EC2上对Hadoop进行基准测试可以获得相同的性能

时间:2014-08-12 05:43:47

标签: hadoop amazon-ec2

我正试图在Hadoop上对EC2进行基准测试。我正在使用带有1个Master和5个slave的1GB文件。当我改变dfs.blocksize之类的1m, 64m, 128m, 500m.时,我期待128m的最佳性能,因为文件大小为1GB,并且有5个从属。但令我惊讶的是,无论块大小如何,所用时间或多或少都在同一范围内。我如何实现这种奇怪的表现?

1 个答案:

答案 0 :(得分:0)

首先考虑最有可能解释的事情

  • 检查您是否正确传入系统变量以控制作业的分割大小,如果不更改此位置,则不会更改映射器的数量(可以在jobtracker UI中检查)。如果每次实际上没有改变任何东西,你都会得到相同数量的地图制作者。要更改分割大小,请使用系统道具mapred.min.split.sizemapred.max.split.size
  • 确保您真的遇到群集,而不是意外地使用1个进程在本地运行
  • 请注意(与Spark不同)Hadoop有一个可怕的作业初始化时间。 IME大约需要20秒,因此对于只有1 GB的数据而言,由于大部分工作都花在了初始化上,所以你并没有真正看到太多的时间差异。