Yarn 是不是根据我们在 spark-submit 命令中传递的 executor 数量为 application master 分配一个容器

Posted

技术标签:

【中文标题】Yarn 是不是根据我们在 spark-submit 命令中传递的 executor 数量为 application master 分配一个容器【英文标题】:Does Yarn allocates one container for the application master from the number of executors that we pass in our spark-submit commandYarn 是否根据我们在 spark-submit 命令中传递的 executor 数量为 application master 分配一个容器 【发布时间】:2020-04-04 19:22:46 【问题描述】:

假设我正在以 yarn-client 模式提交 Spark 应用程序。在 Spark submit 中,我将 --num-executors 作为 10 传递。当客户端将这个spark应用提交给resourceManager时,

资源管理器是否从 --num-executors(10) 为应用程序主进程分配一个执行器容器,其余 9 将分配给实际执行器?

它是为应用程序主分配一个新容器还是为执行器单独分配10个容器?

【问题讨论】:

【参考方案1】:

--num-executors 是向集群管理器(也可能是 Hadoop YARN)请求该数量的执行器。这是 Spark 的要求。

(YARN 应用程序的)应用程序主机只是 YARN 的一个东西。

Spark 应用程序也可能是 YARN 应用程序。在这种情况下,Spark 应用程序会获得 10 个容器和一个额外的 AM 容器。

【讨论】:

以上是关于Yarn 是不是根据我们在 spark-submit 命令中传递的 executor 数量为 application master 分配一个容器的主要内容,如果未能解决你的问题,请参考以下文章

nodejs docker 开发最好选择yarn 进行包管理而不是npm

在 Yarn 2 (berry) 中审计依赖项的最佳方法是啥?

YARN中的资源调度

09 | 为什么我们管Yarn叫作资源调度框架?

YARN基础一:基本架构和启动过程

FlinkFlink on yarn 日志乱码问题