如何在YARN中分配容器?

时间:2014-11-11 01:11:51

标签: hadoop mapreduce yarn

在Mapreduce 1中,Jobtracker从NameNode获取Block信息,然后将Task(最有可能)分配给Task Tracker,它们与Datablocks所在的Same节点中可用。可以增加表现。

如何在YARN中照顾这个?应用程序管理器是否负责从NameNode获取块信息?

如果是,那么如何将容器分配给这些Application master?资源管理器在分配Container时是否考虑了DataBlock位置?或者随机分配节点中的任何容器?

1 个答案:

答案 0 :(得分:0)

从技术上讲,它是JobClient计算input splits的角色,这个拆分信息放在HDFS中,ApplicationMaster将从中取出它并在从ResourceManager请求容器时使用这些信息。

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