YARN如何管理Spark分区的容器和jvm-s?

时间:2015-03-29 20:25:17

标签: apache-spark yarn partition

我不清楚火花隔板和纱线容器是如何相关的。如果我有3个节点(--num-executors = 3)和10个分区,纱线是否会创建总共10个容器(如果我理解的话,每个容器都是jvm),并将它们分散到3个节点上?资源管理器是否为分区启动了一个容器,然后将其重用于下一个分区?

1 个答案:

答案 0 :(得分:2)

来自this Cloudera 帖子:

  

在YARN上运行Spark时,每个Spark执行程序都作为YARN容器运行。在MapReduce为每个任务调度容器并启动JVM的情况下,Spark在同一容器中承载多个任务。这种方法可以使任务启动时间缩短几个数量级。

据我所知, YARN 为每个执行程序创建一个容器,然后将其并行或顺序分配给多个任务。关于您的示例, YARN 将创建总共3个容器,为每个容器分配平均3-4个任务(每个分区一个)。

很明显,您所描述的是 MapReduce 架构的常见行为。