当在纱线上使用火花时,火花执行器和纱线容器之间的关系是什么

时间:2018-02-06 03:27:52

标签: apache-spark yarn

在纱线上使用火花时,火花执行器和纱线容器之间的关系是什么? 例如,当我设置executor-memory = 20G和纱线容器内存= 10G时,1个执行器是否包含2个容器?<​​/ p>

3 个答案:

答案 0 :(得分:2)

Spark Executor在Yarn容器中运行。资源管理器根据需要提供纱线容器。 Yarn容器可以包含一个或多个Spark Executor。 Spark-Executors是运行Tasks的人。 Spark Executor将在Worker Node(DataNode)上启动

在你设置executor-memory = 20G的情况下 - &gt;这意味着您要求一个大小为20GB的容器,您的执行程序将在该容器中运行。现在你可能有一个或多个执行者使用这个20GB的内存而这是每个工人节点

因此,例如,如果您有一个群集到8个节点,它将为您的作业提供8 * 20 GB的总内存。

以下是yarn-site.xml中可用的3个配置选项,您可以使用它们来查看差异。

yarn.scheduler.minimum-allocation-mb
yarn.scheduler.maximum-allocation-mb
yarn.nodemanager.resource.memory-mb

答案 1 :(得分:0)

在YARN模式下,每个执行程序在一个容器中运行。执行程序的数量与从YARN分配的容器数相同(集群模式除外,它将分配另一个容器来运行驱动程序)。

答案 2 :(得分:0)

在YARN上运行Spark时,每个Spark执行程序都作为YARN容器运行,这意味着容器的数量将始终与Spark应用程序创建的执行程序相同,例如通过spark-submit中的--num-executors参数。

https://stackoverflow.com/a/38348175/9605741

相关问题