当前位置: 首页 > 知识库问答 >
问题:

EMR中可用的纱线容器、火花执行器和节点之间的关系是什么?

郑松
2023-03-14

假设我有一个包含1个主节点、3个核心节点和5个任务节点的集群。如果我在纱线集群模式下运行spark作业,驱动程序将在主节点上运行(主节点是否也可以运行executor?),每个容器可以有X个执行者。我是否有3个5=8个容器?或者仅仅3个容器,因为只有核心节点可以存储数据?

此外,如果我有两个火花作业同时运行,我是每个节点得到2个独立的容器,每个火花作业1个,还是2个火花作业的执行者每个节点共享1个容器?

如果用户可以设置纱线容器的数量,即总簇内存/每簇内存,那么节点的物理数量是否重要?

共有1个答案

夏祺然
2023-03-14

如果我在纱线簇模式下运行spark作业,驱动程序将在主节点上运行

Spark驱动程序不在主节点上运行。主节点仅用于在核心节点上运行的纱线/资源管理器和Spark驱动程序。

如果运行两个Spark作业,则这两个作业都将在单个节点或不同节点中的单独容器上运行。

驱动程序在核心节点上运行,任务执行器通常在任务节点上运行,但您可以将其配置为在核心/任务节点上运行。

 类似资料:
  • 我在AWS EMR Spark上运行一个应用程序。这里,是spark提交作业- AWS使用纱线进行资源管理。我正在查看指标(下面的屏幕截图),对纱线“容器”指标有疑问。 这里,分配的容器显示为2。但是,我使用了4个节点(3个从1个主节点),所有8个内核CPU。那么,只有2个容器是如何分配的呢?

  • 我正在4节点群集上运行Spark over纱线。节点中每台机器的配置为128GB内存,每个节点24核CPU。我使用此命令运行Spark on 但Spark最多只能启动16个执行者。我将纱线中的最大vcore分配设置为80(在我拥有的94芯中)。因此,我的印象是,这将启动19名执行人,但最多只能启动16名执行人。此外,我认为即使这些执行者也没有完全使用分配的vCore。 这些是我的问题 spark为

  • 我正在EMR EMR-4.3.0上运行一个spark应用程序,有1个主机和4个节点 它们每一个都有5GB内存和2个核心。 最后Yarn杀死了应用程序主人 错误ApplicationMaster:接收信号15:SIGTERM 1)我是否可以进一步改进num-executors和executor-core的spark-submit选项。

  • 首先,我想说的是我看到的解决这个问题的唯一方法是:Spark 1.6.1 SASL。但是,在为spark和yarn认证添加配置时,仍然不起作用。下面是我在Amazon's EMR的一个yarn集群上使用spark-submit对spark的配置: 注意,我用代码将spark.authenticate添加到了sparkContext的hadoop配置中,而不是core-site.xml(我假设我可以

  • 我提出了一个关于Spark的非常愚蠢的问题,因为我想澄清我的困惑。我对Spark非常陌生,仍在努力理解它在内部是如何工作的。 比方说,如果我有一个输入文件列表(假设1000),我想在某个地方处理或写入,并且我想使用coalesce将我的分区数减少到100。 现在我用12个执行器运行这个作业,每个执行器有5个内核,这意味着它运行时有60个任务。这是否意味着,每个任务将在一个单独的分区上独立工作? 回

  • 我有一个Spark集群运行在hdfs之上的纱线模式。我启动了一个带有2个内核和2G内存的worker。然后我提交了一个具有3个核心的1个执行器动态配置的作业。不过,我的工作还能运转。有人能解释启动worker的内核数量和为执行者请求的内核数量之间的差异吗。我的理解是,由于执行者在工人内部运行,他们无法获得比工人可用的资源更多的资源。