当我在YARN中运行spark应用程序时,它似乎只在每台机器上使用1个核心。如何使用机器上的所有核心?
我的yarn-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”时,它显示了许多正在使用的核心。但在纱线webUI中,我看到只使用了1个vCore。
答案 0 :(得分:0)
终于找到了遗漏的东西。
spark-defaults.conf需要以下两行:
spark.dynamicAllocation.enabled=true
spark.shuffle.service.enabled=true
如果您使用Spark 1.4及更高版本(我不确定1.3),则应使用上述内容。对于旧版本的spark:
spark.executor.instances=15
应该使用。