YARN-6751. Display reserved resources in web UI per queue
(Contributed by Abdullah Yousufi via Daniel Templeton)
This commit is contained in:
parent
441378e7e4
commit
ec97519779
@ -57,6 +57,7 @@ public abstract class FSQueue implements Queue, Schedulable {
|
|||||||
|
|
||||||
private Resource fairShare = Resources.createResource(0, 0);
|
private Resource fairShare = Resources.createResource(0, 0);
|
||||||
private Resource steadyFairShare = Resources.createResource(0, 0);
|
private Resource steadyFairShare = Resources.createResource(0, 0);
|
||||||
|
private Resource reservedResource = Resources.createResource(0, 0);
|
||||||
private final String name;
|
private final String name;
|
||||||
protected final FairScheduler scheduler;
|
protected final FairScheduler scheduler;
|
||||||
private final YarnAuthorizationProvider authorizer;
|
private final YarnAuthorizationProvider authorizer;
|
||||||
@ -161,6 +162,12 @@ public void setMaxShare(Resource maxShare){
|
|||||||
this.maxShare = maxShare;
|
this.maxShare = maxShare;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Resource getReservedResource() {
|
||||||
|
reservedResource.setMemorySize(metrics.getReservedMB());
|
||||||
|
reservedResource.setVirtualCores(metrics.getReservedVirtualCores());
|
||||||
|
return reservedResource;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Resource getMaxShare() {
|
public Resource getMaxShare() {
|
||||||
return maxShare;
|
return maxShare;
|
||||||
|
@ -75,7 +75,8 @@ protected void render(Block html) {
|
|||||||
_("Num Active Applications:", qinfo.getNumActiveApplications()).
|
_("Num Active Applications:", qinfo.getNumActiveApplications()).
|
||||||
_("Num Pending Applications:", qinfo.getNumPendingApplications()).
|
_("Num Pending Applications:", qinfo.getNumPendingApplications()).
|
||||||
_("Min Resources:", qinfo.getMinResources().toString()).
|
_("Min Resources:", qinfo.getMinResources().toString()).
|
||||||
_("Max Resources:", qinfo.getMaxResources().toString());
|
_("Max Resources:", qinfo.getMaxResources().toString()).
|
||||||
|
_("Reserved Resources:", qinfo.getReservedResources().toString());
|
||||||
int maxApps = qinfo.getMaxApplications();
|
int maxApps = qinfo.getMaxApplications();
|
||||||
if (maxApps < Integer.MAX_VALUE) {
|
if (maxApps < Integer.MAX_VALUE) {
|
||||||
ri._("Max Running Applications:", qinfo.getMaxApplications());
|
ri._("Max Running Applications:", qinfo.getMaxApplications());
|
||||||
@ -103,7 +104,8 @@ protected void render(Block html) {
|
|||||||
ResponseInfo ri = info("\'" + qinfo.getQueueName() + "\' Queue Status").
|
ResponseInfo ri = info("\'" + qinfo.getQueueName() + "\' Queue Status").
|
||||||
_("Used Resources:", qinfo.getUsedResources().toString()).
|
_("Used Resources:", qinfo.getUsedResources().toString()).
|
||||||
_("Min Resources:", qinfo.getMinResources().toString()).
|
_("Min Resources:", qinfo.getMinResources().toString()).
|
||||||
_("Max Resources:", qinfo.getMaxResources().toString());
|
_("Max Resources:", qinfo.getMaxResources().toString()).
|
||||||
|
_("Reserved Resources:", qinfo.getReservedResources().toString());
|
||||||
int maxApps = qinfo.getMaxApplications();
|
int maxApps = qinfo.getMaxApplications();
|
||||||
if (maxApps < Integer.MAX_VALUE) {
|
if (maxApps < Integer.MAX_VALUE) {
|
||||||
ri._("Max Running Applications:", qinfo.getMaxApplications());
|
ri._("Max Running Applications:", qinfo.getMaxApplications());
|
||||||
|
@ -58,6 +58,7 @@ public class FairSchedulerQueueInfo {
|
|||||||
private ResourceInfo steadyFairResources;
|
private ResourceInfo steadyFairResources;
|
||||||
private ResourceInfo fairResources;
|
private ResourceInfo fairResources;
|
||||||
private ResourceInfo clusterResources;
|
private ResourceInfo clusterResources;
|
||||||
|
private ResourceInfo reservedResources;
|
||||||
|
|
||||||
private long pendingContainers;
|
private long pendingContainers;
|
||||||
private long allocatedContainers;
|
private long allocatedContainers;
|
||||||
@ -93,6 +94,7 @@ public FairSchedulerQueueInfo(FSQueue queue, FairScheduler scheduler) {
|
|||||||
maxResources = new ResourceInfo(
|
maxResources = new ResourceInfo(
|
||||||
Resources.componentwiseMin(queue.getMaxShare(),
|
Resources.componentwiseMin(queue.getMaxShare(),
|
||||||
scheduler.getClusterResource()));
|
scheduler.getClusterResource()));
|
||||||
|
reservedResources = new ResourceInfo(queue.getReservedResource());
|
||||||
|
|
||||||
fractionMemSteadyFairShare =
|
fractionMemSteadyFairShare =
|
||||||
(float)steadyFairResources.getMemorySize() / clusterResources.getMemorySize();
|
(float)steadyFairResources.getMemorySize() / clusterResources.getMemorySize();
|
||||||
@ -186,6 +188,10 @@ public ResourceInfo getMaxResources() {
|
|||||||
return maxResources;
|
return maxResources;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ResourceInfo getReservedResources() {
|
||||||
|
return reservedResources;
|
||||||
|
}
|
||||||
|
|
||||||
public int getMaxApplications() {
|
public int getMaxApplications() {
|
||||||
return maxApps;
|
return maxApps;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user