yarn 如何知道如何在具有最多可用核心的节点管理器节点上运行消耗核心的任务?

问题描述 投票:0回答:0

我们有 10 个与数据节点共同托管的节点管理器节点

节点上可用的Vcore如下所述

                    Vcore used  Vcore Avilble
 node manager 1     56           6
 node manager 2     35           1
 node manager 3     22           40
 node manager 4     34           2
 node manager 5     36           0
 node manager 6     34           0
 node manager 7     34           2
 node manager 8     36           2
 node manager 9     35           1
 node manager 10    33           18

使用的总Vcore和Vcore总计如下

Vcore total       Vcore Used

510               440

假设我们运行带有 5 个执行器的 Spark 结构化流应用程序,每个执行器消耗 5 个核心

根据表 1,在这种情况下,应用程序在

node manager 3
机器上运行时应该正常运行,因为应用程序消耗 5 X 5 = 35 核心,那么在
node manager 3
上我们应该有 15 个可用核心

但问题是 - 剂量纱线知道哪台机器有足够的可用核心来运行应用程序?

或者yarn可能在随机不同的机器上运行执行器而不知道哪台机器具有可用内核?

apache-spark hadoop-yarn spark-structured-streaming
© www.soinside.com 2019 - 2024. All rights reserved.