Pra*_*ant 3 hadoop-yarn apache-spark
我试图清楚地了解纱线管理集群中的内存分配是如何发生的。我知道有一堆执行器(一个执行器有自己的 JVM),并且一个执行器在执行期间可以有一个或多个 vcore。
我试图将这种理解结合在 YARN 配置中,其中事物被隔离为容器。每个容器实际上是一些 Vcore 和堆内存的一部分的混合。
有人可以确认一位执行者是否获得一个容器,或者一位执行者可以拥有多个容器吗?我阅读了 Cloudera 上有关 YARN 内存管理的一些文档,它似乎说 Container 有一个分配给它的 Executor。
Spark Executor 在 Yarn Container 内运行,而不是跨容器运行。
Yarn 容器由 YARN 资源管理器按需提供 - 在 Spark 应用程序启动时通过 YARN 动态资源分配。
一个 Yarn Container 只能有一个 Spark Executor,但可以为该 Executor 分配 1 个甚至更多 Core。
每个 Spark Executor 和 Driver 都作为其自己的 YARN 容器的一部分运行。
执行者在给定的工作人员上运行。
此外,一切都在应用程序的上下文中,因此应用程序在许多工作线程上都有执行器。
归档时间: |
|
查看次数: |
2799 次 |
最近记录: |