如何在YARN中分配容器



在Mapreduce 1中,Jobtracker从NameNode获取块信息,然后将Task(很可能)分配给Task Tracker,这些Task Tracker在Datablock所在的同一节点中可用。那里的性能可以提高。

YARN是如何处理的?应用程序管理器是否负责从NameNode获取块信息?

如果是,容器是如何分配给这些应用程序主机的?资源管理器在分配容器时是否考虑了DataBlock位置?或者它随机分配节点中的任何容器?

从技术上讲,JobClient的作用是计算输入拆分,该拆分信息被放置在HDFS中,ApplicationMaster将从中提取并使用该信息,同时向ResourceManager请求容器。

因此,从技术上讲,ApplicationMaster在请求所有映射任务的容器时,有关每个映射任务的数据位置的信息都会传递给ResourceManager。调度程序使用这些信息来做出调度决策,试图将任务分配到数据的本地。

相关内容

  • 没有找到相关文章