具有spark应用程序的yarn fair调度程序未按预期抢占

9udxz4iz  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(247)

我在我的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>

当我在队列\u 1 \u 1 \u 1中运行spark作业时,启用动态分配并且没有最大限制,它会占用集群中的所有可用资源。
然而,当我在queue 1\u 2\u 1中运行第二个spark应用程序时,它与queue1具有相同的瞬时公平份额,抢占发生了,但不是我期望的50/50比率。
下面是两张照片,一张是资源分配的前后图。
之前

之后

我已经指定了抢占率和超时,因为这个问题表明,在运行spark作业时,不要基于公平共享抢占资源
公平策略在进行资源平衡时应该只考虑内存,对吗?
有什么问题吗?
谢谢您。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题