在hadoop 1.X中,我们在每个节点上都有几个固定大小的jvms。在新版本中,我们有容器,如果需要,将创建容器。
我想知道资源管理器是否创建了提交作业参数的容器?
答案 0 :(得分:0)
根据文档,YARN旨在允许各个应用程序(通过ApplicationMaster)以共享,安全和多租户方式利用群集资源。此外,它仍然了解集群拓扑结构,以便有效地调度和优化数据访问,即尽可能减少应用程序的数据运动。
为了实现这些目标,中央调度程序(在ResourceManager中)具有有关应用程序资源需求的大量信息,这使其能够跨集群中的所有应用程序做出更好的调度决策。这导致我们进入ResourceRequest和生成的容器。
本质上,应用程序可以通过ApplicationMaster请求特定的资源请求,以满足其资源需求。 Scheduler通过授予容器来响应资源请求,该容器满足ApplicationMaster在初始ResourceRequest中规定的要求。
如您所知,我们在YARN中有三种调度方法:
每个人都有自己的方法来计算应用程序资源需求。
例如,CapacityScheduler具有ResourceCalculator的概念 - 一个可插入层,用于通过查看所有已识别的资源来执行分配的数学运算。这包括帮助做出以下决定的实用程序:
DefaultResourceCalculator在进行计算时只考虑内存。这就是默认情况下在CapacityScheduler中执行分配时忽略CPU要求的原因。所有分配的数学运算都减少到只检查资源请求所需的内存以及在特定调度周期中正在查看的节点上可用的内存。