在纱线上使用火花时火花执行器和纱线容器是什么关系

no1*_*3ff 5 hadoop-yarn apache-spark

在纱线上使用火花时火花执行器和纱线容器是什么关系?
比如我设置executor-memory=20G,yarn容器内存=10G,1个executor包含2个容器吗?

AJm*_*AJm 7

Spark Executor 在 Yarn 容器中运行。Yarn Container 由资源管理器按需提供。一个 Yarn 容器可以有 1 个或多个 Spark Executor。Spark-Executors 是运行任务的那个。Spark Executor 将在一个工作节点(DataNode)上启动

在您设置 executor-memory = 20G -> 的情况下,这意味着您需要一个大小为 20GB 的容器,您的 Executor 将在其中运行。现在您可能有 1 个或多个 Executor 使用这 20GB 的内存,这是 Per Worker Node

因此,例如,如果您有一个包含 8 个节点的集群,那么您的作业的总内存将为 8 * 20 GB。

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

yarn.scheduler.minimum-allocation-mb
yarn.scheduler.maximum-allocation-mb
yarn.nodemanager.resource.memory-mb
Run Code Online (Sandbox Code Playgroud)


Bri*_*low 1

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