我们有100多个节点Yarn集群,但是当我们将Spark应用程序提交到它时,很常见,5个执行器中有4个放在同一个物理节点上。这不是很好,因为我们的工作非常网络/ CPU密集。
是否可以将Spark或Yarn配置为在唯一主机上分配资源?
我们正在使用 FairScheduler : yarn-site.xml
<property>
<name>yarn.resourcemanager.scheduler.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
</property>
<property>
<name>yarn.scheduler.fair.user-as-default-queue</name>
<value>true</value>
</property>
<property>
<name>yarn.scheduler.fair.preemption</name>
<value>false</value>
</property>
<property>
<name>yarn.scheduler.fair.sizebasedweight</name>
<value>false</value>
</property>
<property>
<name>yarn.scheduler.fair.assignmultiple</name>
<value>true</value>
</property>