org.apache.hadoop.yarn.util.resource.Resources.add()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(9.6k)|赞(0)|评价(0)|浏览(55)

本文整理了Java中org.apache.hadoop.yarn.util.resource.Resources.add方法的一些代码示例,展示了Resources.add的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Resources.add方法的具体详情如下:
包路径:org.apache.hadoop.yarn.util.resource.Resources
类名称:Resources
方法名:add

Resources.add介绍

暂无

代码示例

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

/**
 * Get overall starvation - fairshare and attributed minshare.
 *
 * @return total starvation attributed to this application
 */
Resource getStarvation() {
 return Resources.add(fairshareStarvation, minshareStarvation);
}

代码示例来源:origin: com.github.jiayuhan-it/hadoop-yarn-server-resourcemanager

Resource offer(Resource avail, ResourceCalculator rc,
  Resource clusterResource) {
 Resource absMaxCapIdealAssignedDelta = Resources.componentwiseMax(
         Resources.subtract(maxCapacity, idealAssigned),
         Resource.newInstance(0, 0));
 // remain = avail - min(avail, (max - assigned), (current + pending - assigned))
 Resource accepted = 
   Resources.min(rc, clusterResource, 
     absMaxCapIdealAssignedDelta,
   Resources.min(rc, clusterResource, avail, Resources.subtract(
     Resources.add(current, pending), idealAssigned)));
 Resource remain = Resources.subtract(avail, accepted);
 Resources.addTo(idealAssigned, accepted);
 return remain;
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

protected void _inc(String label, ResourceType type, Resource res) {
 try {
  writeLock.lock();
  UsageByLabel usage = getAndAddIfMissing(label);
  usage.resArr.set(type.idx,
    Resources.add(usage.resArr.get(type.idx), res));
 } finally {
  writeLock.unlock();
 }
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

Resource offer(Resource avail, ResourceCalculator rc,
  Resource clusterResource) {
 Resource absMaxCapIdealAssignedDelta = Resources.componentwiseMax(
         Resources.subtract(maxCapacity, idealAssigned),
         Resource.newInstance(0, 0));
 // remain = avail - min(avail, (max - assigned), (current + pending - assigned))
 Resource accepted = 
   Resources.min(rc, clusterResource, 
     absMaxCapIdealAssignedDelta,
   Resources.min(rc, clusterResource, avail, Resources.subtract(
     Resources.add(current, pending), idealAssigned)));
 Resource remain = Resources.subtract(avail, accepted);
 Resources.addTo(idealAssigned, accepted);
 return remain;
}

代码示例来源:origin: io.hops/hadoop-mapreduce-client-app

@Private
public Resource getResourceLimit() {
 Resource headRoom = getAvailableResources();
 Resource assignedMapResource =
   Resources.multiply(mapResourceRequest, assignedRequests.maps.size());
 Resource assignedReduceResource =
   Resources.multiply(reduceResourceRequest,
    assignedRequests.reduces.size());
 return Resources.add(headRoom,
  Resources.add(assignedMapResource, assignedReduceResource));
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

@Override
public Resource getTotalCommittedResources(long t) {
 readLock.lock();
 try {
  return Resources.add(rleSparseVector.getCapacityAtTime(t),
    periodicRle.getCapacityAtTime(t));
 } finally {
  readLock.unlock();
 }
}

代码示例来源:origin: com.github.jiayuhan-it/hadoop-mapreduce-client-app

@Private
public Resource getResourceLimit() {
 Resource headRoom = getAvailableResources();
 Resource assignedMapResource =
   Resources.multiply(mapResourceRequest, assignedRequests.maps.size());
 Resource assignedReduceResource =
   Resources.multiply(reduceResourceRequest,
    assignedRequests.reduces.size());
 return Resources.add(headRoom,
  Resources.add(assignedMapResource, assignedReduceResource));
}

代码示例来源:origin: org.apache.hadoop/hadoop-mapreduce-client-app

@Private
public Resource getResourceLimit() {
 Resource headRoom = getAvailableResources();
 Resource assignedMapResource =
   Resources.multiply(mapResourceRequest, assignedRequests.maps.size());
 Resource assignedReduceResource =
   Resources.multiply(reduceResourceRequest,
    assignedRequests.reduces.size());
 return Resources.add(headRoom,
  Resources.add(assignedMapResource, assignedReduceResource));
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

protected Resource getLoadAtTime(long t,
  RLESparseResourceAllocation planLoads,
  RLESparseResourceAllocation planModifications) {
 Resource planLoad = planLoads.getCapacityAtTime(t);
 return Resources.add(planLoad, planModifications.getCapacityAtTime(t));
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

private void updateDemandForApp(FSAppAttempt sched, Resource maxRes) {
 sched.updateDemand();
 Resource toAdd = sched.getDemand();
 if (LOG.isDebugEnabled()) {
  LOG.debug("Counting resource from " + sched.getName() + " " + toAdd
    + "; Total resource consumption for " + getName() + " now "
    + demand);
 }
 demand = Resources.add(demand, toAdd);
 demand = Resources.componentwiseMin(demand, maxRes);
}

代码示例来源:origin: com.github.jiayuhan-it/hadoop-yarn-server-resourcemanager

private void updateDemandForApp(FSAppAttempt sched, Resource maxRes) {
 sched.updateDemand();
 Resource toAdd = sched.getDemand();
 if (LOG.isDebugEnabled()) {
  LOG.debug("Counting resource from " + sched.getName() + " " + toAdd
    + "; Total resource consumption for " + getName() + " now "
    + demand);
 }
 demand = Resources.add(demand, toAdd);
 demand = Resources.componentwiseMin(demand, maxRes);
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

/**
 * Check whether this queue can run the Application Master under the
 * maxAMShare limit.
 *
 * @param amResource resources required to run the AM
 * @return true if this queue can run
 */
public boolean canRunAppAM(Resource amResource) {
 if (Math.abs(maxAMShare - -1.0f) < 0.0001) {
  return true;
 }
 Resource maxAMResource = computeMaxAMResource();
 getMetrics().setMaxAMShare(maxAMResource);
 Resource ifRunAMResource = Resources.add(amResourceUsage, amResource);
 return Resources.fitsIn(ifRunAMResource, maxAMResource);
}

代码示例来源:origin: com.github.jiayuhan-it/hadoop-yarn-server-resourcemanager

public synchronized ApplicationResourceUsageReport getResourceUsageReport() {
 AggregateAppResourceUsage resUsage = getRunningAggregateAppResourceUsage();
 return ApplicationResourceUsageReport.newInstance(liveContainers.size(),
       reservedContainers.size(), Resources.clone(currentConsumption),
       Resources.clone(currentReservation),
       Resources.add(currentConsumption, currentReservation),
       resUsage.getMemorySeconds(), resUsage.getVcoreSeconds());
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

public synchronized ApplicationResourceUsageReport getResourceUsageReport() {
 AggregateAppResourceUsage resUsage = getRunningAggregateAppResourceUsage();
 return ApplicationResourceUsageReport.newInstance(liveContainers.size(),
       reservedContainers.size(), Resources.clone(currentConsumption),
       Resources.clone(currentReservation),
       Resources.add(currentConsumption, currentReservation),
       resUsage.getMemorySeconds(), resUsage.getVcoreSeconds());
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

private boolean canAssign(Resource clusterResource, FiCaSchedulerNode node) {
 // When node == null means global scheduling is enabled, always return true
 if (null == node) {
  return true;
 }
 // Two conditions need to meet when trying to allocate:
 // 1) Node doesn't have reserved container
 // 2) Node's available-resource + killable-resource should > 0
 return node.getReservedContainer() == null && Resources.greaterThanOrEqual(
   resourceCalculator, clusterResource, Resources
     .add(node.getUnallocatedResource(),
       node.getTotalKillableResources()), minimumAllocation);
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

private boolean checkHeadroom(Resource clusterResource,
  ResourceLimits currentResourceLimits, Resource required,
  String nodePartition) {
 // If headroom + currentReservation < required, we cannot allocate this
 // require
 Resource resourceCouldBeUnReserved = application.getCurrentReservation();
 if (!application.getCSLeafQueue().getReservationContinueLooking()
   || !nodePartition.equals(RMNodeLabelsManager.NO_LABEL)) {
  // If we don't allow reservation continuous looking, OR we're looking at
  // non-default node partition, we won't allow to unreserve before
  // allocation.
  resourceCouldBeUnReserved = Resources.none();
 }
 return Resources.greaterThanOrEqual(rc, clusterResource, Resources.add(
   currentResourceLimits.getHeadroom(), resourceCouldBeUnReserved),
   required);
}

代码示例来源:origin: com.github.jiayuhan-it/hadoop-yarn-server-resourcemanager

static boolean fitsInMaxShare(FSQueue queue, Resource
  additionalResource) {
 Resource usagePlusAddition =
   Resources.add(queue.getResourceUsage(), additionalResource);
 if (!Resources.fitsIn(usagePlusAddition, queue.getMaxShare())) {
  return false;
 }
 
 FSQueue parentQueue = queue.getParent();
 if (parentQueue != null) {
  return fitsInMaxShare(parentQueue, additionalResource);
 }
 return true;
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

static boolean fitsInMaxShare(FSQueue queue, Resource
  additionalResource) {
 Resource usagePlusAddition =
   Resources.add(queue.getResourceUsage(), additionalResource);
 if (!Resources.fitsIn(usagePlusAddition, queue.getMaxShare())) {
  return false;
 }
 
 FSQueue parentQueue = queue.getParent();
 if (parentQueue != null) {
  return fitsInMaxShare(parentQueue, additionalResource);
 }
 return true;
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-common

@Test
public void testAdd() {
 assertEquals(createResource(2, 3),
   add(createResource(1, 1), createResource(1, 2)));
 assertEquals(createResource(3, 2),
   add(createResource(1, 1), createResource(2, 1)));
 assertEquals(createResource(2, 2, 0),
   add(createResource(1, 1, 0), createResource(1, 1, 0)));
 assertEquals(createResource(2, 2, 3),
   add(createResource(1, 1, 1), createResource(1, 1, 2)));
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

private Resource getResourceToIncrease(UpdateContainerRequest updateReq,
  RMContainer rmContainer) {
 if (updateReq.getContainerUpdateType() ==
   ContainerUpdateType.PROMOTE_EXECUTION_TYPE) {
  return rmContainer.getContainer().getResource();
 }
 if (updateReq.getContainerUpdateType() ==
   ContainerUpdateType.INCREASE_RESOURCE) {
  //       This has to equal the Resources in excess of fitsIn()
  //       for container increase and is equal to the container total
  //       resource for Promotion.
  Resource maxCap = Resources.componentwiseMax(updateReq.getCapability(),
    rmContainer.getContainer().getResource());
  return Resources.add(maxCap,
    Resources.negate(rmContainer.getContainer().getResource()));
 }
 return null;
}

相关文章