hdfs—hadoop基准测试—为什么读的时间和写的时间一样长?

sc4hvdpw  于 2021-06-02  发布在  Hadoop
关注(0)|答案(0)|浏览(303)

我有一个16节点的集群,hadoop1.0.4的复制因子是2。我已经将map和reduce任务的最大数量设置为1,并且禁用了推测性任务执行。
我正在运行testdfsio基准测试来创建工作负载,使集群上的每个节点都承受均匀的负载。我执行以下顺序:
testdfsio写48个2gb文件
删除群集中每个节点上的缓存以防止从内存中读取数据
testdfsio读取48个2gb文件。
在这些工作负载中,理想情况下,16节点集群中的每个节点都应该看到3个数据本地Map任务。
因为写入是2复制的,所以我预计写入工作负载所需的时间大约是读取工作负载的两倍(减去与mapreduce相关的任何预热和冷却时间)。相反,写入和读取所需的时间大致相同。
一些线索:
通常,启动作业时的“拆分”不会覆盖所有节点,因此局部性等待因子<1(通常为.75-.9)。
有一些机架本地Map,当Map看起来都是本地数据时(我假设这是#2的结果)。
在这种情况下,为什么读的时间和写的时间一样长?
当我一次只写一个Map时,为什么会有机架本地Map任务?
假设它将改善我的结果,我如何确保更多的数据局部性?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题