Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop基准测试-为什么读取和复制写入花费的时间一样长?_Hadoop_Hdfs_Benchmarking - Fatal编程技术网

Hadoop基准测试-为什么读取和复制写入花费的时间一样长?

Hadoop基准测试-为什么读取和复制写入花费的时间一样长?,hadoop,hdfs,benchmarking,Hadoop,Hdfs,Benchmarking,我有一个16节点的集群,Hadoop 1.0.4的复制因子为2。我已经将map和reduce任务的最大数量设置为1,并且禁用了推测性任务执行 我正在运行TestDFSIO基准测试,以创建负载均匀的集群上每个节点的工作负载。我执行以下顺序: TestDFSIO写入48个2GB文件 删除群集中每个节点上的缓存,以防止从内存中读取数据 TestDFSIO读取2GB的48个文件。 在这些工作负载中,16节点集群中的每个节点理想情况下都应该看到3个数据本地映射任务 因为写入是2复制的,所以我预计写入工作负

我有一个16节点的集群,Hadoop 1.0.4的复制因子为2。我已经将map和reduce任务的最大数量设置为1,并且禁用了推测性任务执行

我正在运行TestDFSIO基准测试,以创建负载均匀的集群上每个节点的工作负载。我执行以下顺序:

TestDFSIO写入48个2GB文件 删除群集中每个节点上的缓存,以防止从内存中读取数据 TestDFSIO读取2GB的48个文件。 在这些工作负载中,16节点集群中的每个节点理想情况下都应该看到3个数据本地映射任务

因为写入是2复制的,所以我预计写入工作负载所需的时间大约是读取工作负载减去与mapreduce相关的任何预热和冷却时间的两倍。相反,写入和读取所需的时间大致相同

一些线索:

通常,启动作业时的拆分不会覆盖所有节点,因此局部性等待因子通常小于1.75-.9。 有一些机架本地地图,当这些地图看起来都是本地数据时,我假设这是2的结果。 在这种情况下,为什么读的时间和写的时间一样长

当我一次只写一个映射时,为什么会有机架本地映射任务

假设它将改善我的结果,我如何确保更多的数据局部性