Apache spark 在Spark中使用唯一主机分配纱线资源
我们有100多个节点,但是当我们向其中提交Spark应用程序时,5个执行器中有4个位于同一物理节点上。这不是很好,因为我们的工作是非常网络/cpu密集型的 是否可以将Spark或Thread配置为在唯一主机上分配资源 我们正在使用FairScheduler:warn-site.xmlApache spark 在Spark中使用唯一主机分配纱线资源,apache-spark,yarn,Apache Spark,Yarn,我们有100多个节点,但是当我们向其中提交Spark应用程序时,5个执行器中有4个位于同一物理节点上。这不是很好,因为我们的工作是非常网络/cpu密集型的 是否可以将Spark或Thread配置为在唯一主机上分配资源 我们正在使用FairScheduler:warn-site.xml warn.resourcemanager.scheduler.class org.apache.hadoop.warn.server.resourcemanager.scheduler.fair.FairSch
warn.resourcemanager.scheduler.class
org.apache.hadoop.warn.server.resourcemanager.scheduler.fair.FairScheduler
warn.scheduler.fair.user-as-default-queue
真的
纱线、排程器、公平、优先购买权
假的
纱线.排程器.公平.尺码固定重量
假的
纱线。调度。公平。分配
真的
只是猜测……是否该节点与您在HDFS上访问的数据最接近?一个(疯狂的)想法是用单个节点上容器可用的最大内存启动应用程序。不,不是这样。在spark提交纱线时,spark不知道将使用什么数据。第二个选项不可行,主机有124gb内存,我只需要4;)
<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>