Hadoop 地图任务';的输入拆分正在运行其他映射任务

Hadoop 地图任务';的输入拆分正在运行其他映射任务,hadoop,Hadoop,我无法理解Hadoop-权威指南第3版(第31页)中的这一陈述“但是,有时,为map任务的输入拆分托管HDFS块副本的所有三个节点都在运行其他map任务,因此作业调度器将在与其中一个块位于同一机架中的节点上查找空闲的map插槽。有时甚至不可能做到这一点,因此使用机架外节点,从而导致机架间网络传输。” 我的问题是 1) 我无法了解这项声明的全部内容 2) 这是否意味着如果其他映射任务(如运行映射任务)需要输入拆分,则表示(等待映射任务)将查找同一拆分的其他副本?如果运行映射任务和等待映射任务中的映

我无法理解Hadoop-权威指南第3版(第31页)中的这一陈述“但是,有时,为map任务的输入拆分托管HDFS块副本的所有三个节点都在运行其他map任务,因此作业调度器将在与其中一个块位于同一机架中的节点上查找空闲的map插槽。有时甚至不可能做到这一点,因此使用机架外节点,从而导致机架间网络传输。”

我的问题是

1) 我无法了解这项声明的全部内容


2) 这是否意味着如果其他映射任务(如运行映射任务)需要输入拆分,则表示(等待映射任务)将查找同一拆分的其他副本?如果运行映射任务和等待映射任务中的映射逻辑相同,则“等待映射任务”将不使用“运行映射任务”的输出,如您在同一本书中进一步阅读的那样(我身边有一个副本),带宽是一个很大的问题。因此,数据节点离映射器任务越近,性能越好

你也可以在同一本书中读到,hadoop本身并没有猜测网络拓扑(有一章介绍这种配置)

关于问题2) 理想情况下,分割的大小应与HDFS块的大小相同。有时,文件无法分割(如果您检查压缩,您将看到某些压缩算法不允许分割),因此映射器必须获取多个块。此外,这些块可以分布在多个机架上