[ 
https://issues.apache.org/jira/browse/YARN-6568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16003908#comment-16003908
 ] 

zhengchenyu edited comment on YARN-6568 at 5/10/17 1:57 AM:
------------------------------------------------------------

[~yufeigu]
Sorry, I didn't express definitely! 
I said that the minShare1 which is big enough is configured by 
fair-scheduler.xml, not the variable 'minShare1'. It equals s1.getMinShare.
look the code below. if minShare1 which is configured by fair-scheduler.xml is 
big enough. the variable 'minShare1' equals s1.getDemand. It means the variable 
'minShare1' = resourceUsage + request.
{code}
Resource minShare1 = Resources.min(RESOURCE_CALCULATOR, null,s1.getMinShare(), 
s1.getDemand());
{code}

look the code below. At this time, minShareRatio1 = resourceUsage1/'minShare1 = 
 resourceUsage1 / (resourceUsage1+request1)

{code}
minShareRatio1 = (double) resourceUsage1.getMemory()/ 
Resources.max(RESOURCE_CALCULATOR, null, minShare1, ONE).getMemory();
{code}


was (Author: zhengchenyu):
[~yufeigu]
Sorry, I didn't express definitely! 
I said that the minShare1 which is big enough is configured by 
fair-scheduler.xml, not the variable 'minShare1'. It equals s1.getMinShare.
look the code below. if minShare1 which is configured by fair-scheduler.xml is 
big enough. the variable 'minShare1' equals s1.getDemand. It means the variable 
'minShare1' = resourceUsage + request.
{
Resource minShare1 = Resources.min(RESOURCE_CALCULATOR, null,s1.getMinShare(), 
s1.getDemand());
}

look the code below. At this time, minShareRatio1 = resourceUsage1/'minShare1 = 
 resourceUsage1 / (resourceUsage1+request1)

{
minShareRatio1 = (double) resourceUsage1.getMemory()/ 
Resources.max(RESOURCE_CALCULATOR, null, minShare1, ONE).getMemory();
}

> A queue which runs a long time job couldn't acquire any container for long 
> time.
> --------------------------------------------------------------------------------
>
>                 Key: YARN-6568
>                 URL: https://issues.apache.org/jira/browse/YARN-6568
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: fairscheduler
>    Affects Versions: 2.7.1
>         Environment: CentOS 7.1
>            Reporter: zhengchenyu
>             Fix For: 2.7.4
>
>   Original Estimate: 1m
>  Remaining Estimate: 1m
>
> In our cluster, we find some applications couldn't acquire any container for 
> long time. (Note: we use FairSharePolicy and FairScheduler)
> First, I found some unreasonable configuration, we set minRes=maxRes. So some 
> application keep pending for long time, we kill some large applicaiton to 
> solve this problem. Then we changed this configuration, this problem 
> relieves. 
> But this problem is not completely solved. In our cluster, I found 
> applications in  some queue which request few container keep pending for long 
> time. 
> I simulate in test cluster. I submit DistributedShell application which run 
> many loo applications to queueA, then I submit my own yarn application which 
> request container and release container constantly to queueB.  At this time, 
> any applicaitons which are submmited to queueA keep pending!
> We know this is the problem of FairSharePolicy, it consider the request of 
> queue. So after sort the queues, some queues which have few request are 
> ordered last all time.
> We know if the AM container is launched, then the request will increase, But 
> FairSharePolicy can't distinguish which request is AM request. I think if am 
> container is assigned, the problem is solved. 
> Our companion discuss this problem. we recommend set a timeout for queue, it 
> means the time length of a queue is not assigned. If timeout, we set this 
> queue to the first place of queues list. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to