org.apache.hadoop.yarn.server.resourcemanager.scheduler.QueueMetrics.allocateResources()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(9.4k)|赞(0)|评价(0)|浏览(108)

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

QueueMetrics.allocateResources介绍

[英]Allocate Resource for container size change.
[中]为容器大小更改分配资源。

代码示例

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

public void allocateResources(String partition, String user,
  int containers, Resource res, boolean decrPending) {
 if(partition == null || partition.equals(RMNodeLabelsManager.NO_LABEL)) {
  allocatedContainers.incr(containers);
  aggregateContainersAllocated.incr(containers);
  allocatedMB.incr(res.getMemorySize() * containers);
  allocatedVCores.incr(res.getVirtualCores() * containers);
  if (decrPending) {
   _decrPendingResources(containers, res);
  }
  QueueMetrics userMetrics = getUserMetrics(user);
  if (userMetrics != null) {
   userMetrics.allocateResources(partition, user,
     containers, res, decrPending);
  }
  if (parent != null) {
   parent.allocateResources(partition, user, containers, res, decrPending);
  }
 }
}

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

public void allocateResources(String user, int containers, Resource res,
  boolean decrPending) {
 allocatedContainers.incr(containers);
 aggregateContainersAllocated.incr(containers);
 allocatedMB.incr(res.getMemory() * containers);
 allocatedVCores.incr(res.getVirtualCores() * containers);
 if (decrPending) {
  _decrPendingResources(containers, res);
 }
 QueueMetrics userMetrics = getUserMetrics(user);
 if (userMetrics != null) {
  userMetrics.allocateResources(user, containers, res, decrPending);
 }
 if (parent != null) {
  parent.allocateResources(user, containers, res, decrPending);
 }
}

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

public void allocateResources(String user, int containers, Resource res,
  boolean decrPending) {
 allocatedContainers.incr(containers);
 aggregateContainersAllocated.incr(containers);
 allocatedMB.incr(res.getMemory() * containers);
 allocatedVCores.incr(res.getVirtualCores() * containers);
 if (decrPending) {
  _decrPendingResources(containers, res);
 }
 QueueMetrics userMetrics = getUserMetrics(user);
 if (userMetrics != null) {
  userMetrics.allocateResources(user, containers, res, decrPending);
 }
 if (parent != null) {
  parent.allocateResources(user, containers, res, decrPending);
 }
}

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

/**
 * Allocate Resource for container size change.
 * @param partition Node Partition
 * @param user
 * @param res
 */
public void allocateResources(String partition, String user, Resource res) {
 if(partition == null || partition.equals(RMNodeLabelsManager.NO_LABEL)) {
  allocatedMB.incr(res.getMemorySize());
  allocatedVCores.incr(res.getVirtualCores());
  pendingMB.decr(res.getMemorySize());
  pendingVCores.decr(res.getVirtualCores());
  QueueMetrics userMetrics = getUserMetrics(user);
  if (userMetrics != null) {
   userMetrics.allocateResources(partition, user, res);
  }
  if (parent != null) {
   parent.allocateResources(partition, user, res);
  }
 }
}

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

public void recoverContainer(RMContainer rmContainer, String partition) {
 if (rmContainer.getExecutionType() != ExecutionType.GUARANTEED) {
  return;
 }
 try {
  this.writeLock.lock();
  QueueMetrics metrics = queue.getMetrics();
  if (pending) {
   // If there was any container to recover, the application was
   // running from scheduler's POV.
   pending = false;
   metrics.runAppAttempt(applicationId, user);
  }
  // Container is completed. Skip recovering resources.
  if (rmContainer.getState().equals(RMContainerState.COMPLETED)) {
   return;
  }
  metrics.allocateResources(partition, user, 1,
    rmContainer.getAllocatedResource(), false);
 } finally {
  this.writeLock.unlock();
 }
}

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

public synchronized void recoverContainer(RMContainer rmContainer) {
 QueueMetrics metrics = queue.getMetrics();
 if (pending) {
  // If there was any container to recover, the application was
  // running from scheduler's POV.
  pending = false;
  metrics.runAppAttempt(applicationId, user);
 }
 // Container is completed. Skip recovering resources.
 if (rmContainer.getState().equals(RMContainerState.COMPLETED)) {
  return;
 }
 metrics.allocateResources(user, 1, rmContainer.getAllocatedResource(),
  false);
}

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

public synchronized void recoverContainer(RMContainer rmContainer) {
 QueueMetrics metrics = queue.getMetrics();
 if (pending) {
  // If there was any container to recover, the application was
  // running from scheduler's POV.
  pending = false;
  metrics.runAppAttempt(applicationId, user);
 }
 // Container is completed. Skip recovering resources.
 if (rmContainer.getState().equals(RMContainerState.COMPLETED)) {
  return;
 }
 metrics.allocateResources(user, 1, rmContainer.getAllocatedResource(),
  false);
}

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

public synchronized void move(Queue newQueue) {
 QueueMetrics oldMetrics = queue.getMetrics();
 QueueMetrics newMetrics = newQueue.getMetrics();
 String user = getUser();
 for (RMContainer liveContainer : liveContainers.values()) {
  Resource resource = liveContainer.getContainer().getResource();
  oldMetrics.releaseResources(user, 1, resource);
  newMetrics.allocateResources(user, 1, resource, false);
 }
 for (Map<NodeId, RMContainer> map : reservedContainers.values()) {
  for (RMContainer reservedContainer : map.values()) {
   Resource resource = reservedContainer.getReservedResource();
   oldMetrics.unreserveResource(user, resource);
   newMetrics.reserveResource(user, resource);
  }
 }
 appSchedulingInfo.move(newQueue);
 this.queue = newQueue;
}

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

public static void updateMetrics(ApplicationId applicationId, NodeType type,
  SchedulerNode node, Container containerAllocated, String user,
  Queue queue) {
 if (LOG.isDebugEnabled()) {
  LOG.debug("allocate: applicationId=" + applicationId + " container="
    + containerAllocated.getId() + " host=" + containerAllocated
    .getNodeId().toString() + " user=" + user + " resource="
    + containerAllocated.getResource() + " type="
    + type);
 }
 if(node != null) {
  queue.getMetrics().allocateResources(node.getPartition(), user, 1,
    containerAllocated.getResource(), true);
 }
 queue.getMetrics().incrNodeTypeAggregations(user, type);
}

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

public synchronized void move(Queue newQueue) {
 QueueMetrics oldMetrics = queue.getMetrics();
 QueueMetrics newMetrics = newQueue.getMetrics();
 String user = getUser();
 for (RMContainer liveContainer : liveContainers.values()) {
  Resource resource = liveContainer.getContainer().getResource();
  oldMetrics.releaseResources(user, 1, resource);
  newMetrics.allocateResources(user, 1, resource, false);
 }
 for (Map<NodeId, RMContainer> map : reservedContainers.values()) {
  for (RMContainer reservedContainer : map.values()) {
   Resource resource = reservedContainer.getReservedResource();
   oldMetrics.unreserveResource(user, resource);
   newMetrics.reserveResource(user, resource);
  }
 }
 appSchedulingInfo.move(newQueue);
 this.queue = newQueue;
}

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

+ " type=" + type);
metrics.allocateResources(user, 1, request.getCapability(), true);
metrics.incrNodeTypeAggregations(user, type);
return resourceRequests;

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

+ " type=" + type);
metrics.allocateResources(user, 1, request.getCapability(), true);
metrics.incrNodeTypeAggregations(user, type);
return resourceRequests;

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

oldMetrics.releaseResources(liveContainer.getNodeLabelExpression(),
  user, 1, resource);
newMetrics.allocateResources(liveContainer.getNodeLabelExpression(),
  user, 1, resource, false);

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

queueA1M.incrPendingResources(rmContainer.getNodeLabelExpression(),
  "user1", 1, resource);
queueA1M.allocateResources(rmContainer.getNodeLabelExpression(),
  "user1", resource);

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

checkApps(queueSource, 1, 0, 1, 0, 0, 0, true);
metrics.allocateResources(user, 3, Resources.createResource(2*GB, 2), true);
checkResources(queueSource, 6*GB, 6, 3, 3, 0, 100*GB, 100, 9*GB, 9, 2, 0, 0, 0);

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

checkApps(userSource, 1, 0, 1, 0, 0, 0, true);
metrics.allocateResources(RMNodeLabelsManager.NO_LABEL,
  user, 3, Resources.createResource(2*GB, 2), true);
metrics.reserveResource(RMNodeLabelsManager.NO_LABEL,

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

checkApps(queueSource, 1, 0, 1, 0, 0, 0, true);
metrics.allocateResources(RMNodeLabelsManager.NO_LABEL,
  user, 3, Resources.createResource(2*GB, 2), true);
checkResources(queueSource, 6*GB, 6, 3, 3, 0, 100*GB, 100, 9*GB, 9, 2, 0, 0, 0);

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

checkApps(userSource, 1, 0, 1, 0, 0, 0, true);
metrics.allocateResources(user, 3, Resources.createResource(2*GB, 2), true);
checkResources(queueSource, 6*GB, 6, 3, 3, 0, 100*GB, 100, 9*GB, 9, 2, 0, 0, 0);
checkResources(userSource, 6*GB, 6, 3, 3, 0, 10*GB, 10, 9*GB, 9, 2, 0, 0, 0);

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

checkApps(userSource, 1, 0, 1, 0, 0, 0, true);
metrics.allocateResources(RMNodeLabelsManager.NO_LABEL,
  user, 3, Resources.createResource(2*GB, 2), true);
checkResources(queueSource, 6*GB, 6, 3, 3, 0, 100*GB, 100, 9*GB, 9, 2, 0, 0, 0);

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

checkApps(userSource, 1, 0, 1, 0, 0, 0, true);
metrics.allocateResources(user, 3, Resources.createResource(2*GB, 2), true);
metrics.reserveResource(user, Resources.createResource(3*GB, 3));

相关文章

微信公众号

最新文章

更多

QueueMetrics类方法