[
https://issues.apache.org/jira/browse/YARN-3126?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Xia Hu updated YARN-3126:
-------------------------
Description:
When submitting spark application(both spark-on-yarn-cluster and
spark-on-yarn-cleint model), the queue's usedResources assigned by
fairscheduler always can be more than the queue's maxResources limit.
And by reading codes of fairscheduler, I suppose this issue happened because of
ignore to check the request resources when assign Container.
Here is the detail:
1. choose a queue. In this process, it will check if queue's usedResource is
bigger than its max, with assignContainerPreCheck.
2. then choose a app in the certain queue.
3. then choose a container. And here is the question, there is no check whether
this container would make the queue sources over its max limit. If a queue's
usedResource is 13G, the maxResource limit is 16G, then a container which
asking for 4G resources may be assigned successful.
This problem will always happen in spark application, cause we can ask for
different container resources in different applications.
By the way, I have already use the patch from YARN-2083.
was:
When submitting spark application(both spark-on-yarn-cluster and
spark-on-yarn-cleint model), the queue's usedResources assigned by
fairscheduler always can be more than the queue's maxResources limit.
And with reading codes of fairscheduler, I suppose this issue happened because
of ignore to check the request resources when assign Container.
Here is the detail:
1. choose a queue. In this process, it will check if queue's usedResource is
bigger than its max, with assignContainerPreCheck.
2. then choose a app in the certain queue.
3. then choose a container. And here is the question, there is no check whether
this container would make the queue sources over its max limit. If a queue's
usedResource is 13G, the maxResource limit is 16G, then a container which
asking for 4G resources may be assigned successful.
This problem will always happen in spark application, cause we can ask for
different container resources in different applications.
By the way, I have already use the patch from YARN-2083.
> FairScheduler: queue's usedResource is always more than the maxResource limit
> -----------------------------------------------------------------------------
>
> Key: YARN-3126
> URL: https://issues.apache.org/jira/browse/YARN-3126
> Project: Hadoop YARN
> Issue Type: Bug
> Components: fairscheduler
> Affects Versions: 2.3.0
> Environment: hadoop2.3.0. fair scheduler. spark 1.1.0.
> Reporter: Xia Hu
> Labels: assignContainer, fairscheduler, resources
>
> When submitting spark application(both spark-on-yarn-cluster and
> spark-on-yarn-cleint model), the queue's usedResources assigned by
> fairscheduler always can be more than the queue's maxResources limit.
> And by reading codes of fairscheduler, I suppose this issue happened because
> of ignore to check the request resources when assign Container.
> Here is the detail:
> 1. choose a queue. In this process, it will check if queue's usedResource is
> bigger than its max, with assignContainerPreCheck.
> 2. then choose a app in the certain queue.
> 3. then choose a container. And here is the question, there is no check
> whether this container would make the queue sources over its max limit. If a
> queue's usedResource is 13G, the maxResource limit is 16G, then a container
> which asking for 4G resources may be assigned successful.
> This problem will always happen in spark application, cause we can ask for
> different container resources in different applications.
> By the way, I have already use the patch from YARN-2083.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)