我有一个16节点集群,复制因子为2,使用Hadoop 1.0.4。我已将map和reduce任务的最大数量设置为1,并且我已禁用推测任务执行。
我正在运行TestDFSIO基准测试来创建工作负载,从而均匀地为集群上的每个节点负担。我执行以下序列:
在每个工作负载中,16节点集群中的每个节点理想情况下应该看到3个数据本地映射任务。
由于写入是2次复制,我希望写入工作量大约是读取工作负载的两倍(减去与mapreduce相关的任何预热和冷却)。相反,写入和读取需要相同的时间量。
一些线索:
为什么在这种情况下读取的时间和写入一样长?
当我一次只对一个地图进行TestDFSIO写入时,为什么会出现机架本地地图任务?
假设它会改善我的结果,我该如何确保更多的数据位置?