问题描述
我在Yarn群集中启用了Fairscheduling,具有以下队列配置:
<queue name="queue_1">
<weight>9.0</weight>
<schedulingPolicy>fair</schedulingPolicy>
<fairsharePreemptionTimeout>5</fairsharePreemptionTimeout>
<fairsharePreemptionThreshold>1</fairsharePreemptionThreshold>
<queue name="queue_1_1">
<weight>4.4</weight>
<queue name="queue_1_1_1">
<weight>1.0</weight>
</queue>
<queue name="queue_1_2_1">
<weight>3.0</weight>
</queue>
<queue name="queue_1_3_1">
<weight>6.0</weight>
</queue>
</queue>
<queue name="queue_1_2">
<weight>4.4</weight>
<queue name="queue_1_1_2">
<weight>1.0</weight>
</queue>
<queue name="queue_1_2_2">
<weight>3.0</weight>
</queue>
<queue name="queue_1_3_2">
<weight>6.0</weight>
</queue>
</queue>
</queue>
<queuePlacementPolicy>
<rule name="specified" create="false"/>
<rule name="reject"/>
</queuePlacementPolicy>
当我在队列_1_1_1中运行spark作业时,启用了动态分配并且没有最大限制,它占用了集群中的所有可用资源。
但是,当我在queue_1_2_1中运行第二个Spark应用程序时,该应用程序具有与queue1相同的瞬时Fairshare,则会发生抢占,但不是我期望的50/50比率。
下面是两幅画,分别是资源分配的前后。
我已经指定了抢占率和超时,因为这个问题表明 YARN not preempting resources based on fair shares when running a Spark job
公平政策应仅在进行资源平衡时考虑内存,对吧?
可能是什么问题?
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)