spark在集群中的每台机器上只使用一个虚拟核心

7dl7o3gd  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(439)

似乎当我在Yarn中运行spark应用程序时,它在每台机器上只使用一个芯。如何使用机器上所有的机芯?
my-site.xml是:

<property>
    <name>yarn.scheduler.maximum-allocation-mb</name>
    <value>57344</value>
</property>
<property>
    <name>yarn.scheduler.minimum-allocation-vcores</name>
    <value>5</value>
<property>
    <name>yarn.scheduler.maximum-allocation-vcores</name>
    <value>30</value>
</property>

我的spark-defaults.conf有以下功能:

spark.driver.memory=8g
spark.driver.cores=3
spark.executor.memory=48g
spark.executor.cores=30

当我做“htop”时,它显示了很多内核被使用。但在yarn webui中,我只看到使用了1个vcore。

ugmeyewa

ugmeyewa1#

终于找到了丢失的东西。
spark-defaults.conf需要以下两行:

spark.dynamicAllocation.enabled=true
spark.shuffle.service.enabled=true

如果您使用的是spark 1.4及更高版本(我不确定1.3),则应使用上述内容。对于旧版本的spark:

spark.executor.instances=15

应该使用。

相关问题