如果我将executor内存增加到5gb以上,为什么spark在我的2个工作节点集群上只使用一个executor?

z4bn682m  于 2021-06-02  发布在  Hadoop
关注(0)|答案(0)|浏览(209)

我使用的是一个3节点集群:1个主节点和2个工作节点,使用t2.large ec2示例。
“free-m”命令提供以下信息:
硕士学位:

total       used       free     shared    buffers     cached
Mem:          7733       6324       1409          0        221       4555
-/+ buffers/cache:       1547       6186
Swap:         1023          0       1023

工作节点1:

total       used       free     shared    buffers     cached
Mem:          7733       3203       4530          0        185       2166
-/+ buffers/cache:        851       6881
Swap:         1023          0       1023

工作节点2:

total       used       free     shared    buffers     cached
Mem:          7733       3402       4331          0        185       2399
-/+ buffers/cache:        817       6915
Swap:         1023          0       1023

在yarn-site.xml文件中,我设置了以下属性:

<property>
  <name>yarn.scheduler.maximum-allocation-mb</name>
  <value>7733</value>
</property>

<property>
  <name>yarn.nodemanager.resource.memory-mb</name>
  <value>7733</value>
</property>

$SPARK_HOME/conf/spark-defaults.conf 我正在设置 spark.executor.cores2 以及 spark.executor.instances2 .
运行spark应用程序后查看spark历史ui时,两个执行器(1和2)与驱动程序一起显示在“executors”选项卡中。在同一页的cores列中,两个执行者都有2个。
当我将executor内存设置为5g或更低时,spark应用程序在两个工作节点executor都运行的情况下运行良好。当我将executor内存设置为6g或更多时,只有一个worker节点运行executor。为什么会这样?注意:我已尝试增加yarn.nodemanager.resource.memory-mb,但它不会改变此行为。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题