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

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

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

QueueCapacities.getMaximumCapacity介绍

暂无

代码示例

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

@Override
public float getMaximumCapacity() {
 return queueCapacities.getMaximumCapacity();
}

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

@Override
public float getMaximumCapacity() {
 return queueCapacities.getMaximumCapacity();
}

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

@Override
public float getMaximumCapacity() {
 return queueCapacities.getMaximumCapacity();
}

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

synchronized void setupQueueConfigs(Resource clusterResource)
  throws IOException {
 super.setupQueueConfigs(clusterResource);
 StringBuilder aclsString = new StringBuilder();
 for (Map.Entry<AccessType, AccessControlList> e : acls.entrySet()) {
  aclsString.append(e.getKey() + ":" + e.getValue().getAclString());
 }
 StringBuilder labelStrBuilder = new StringBuilder(); 
 if (accessibleLabels != null) {
  for (String s : accessibleLabels) {
   labelStrBuilder.append(s);
   labelStrBuilder.append(",");
  }
 }
 LOG.info(queueName +
   ", capacity=" + this.queueCapacities.getCapacity() +
   ", asboluteCapacity=" + this.queueCapacities.getAbsoluteCapacity() +
   ", maxCapacity=" + this.queueCapacities.getMaximumCapacity() +
   ", asboluteMaxCapacity=" + this.queueCapacities.getAbsoluteMaximumCapacity() + 
   ", state=" + state +
   ", acls=" + aclsString + 
   ", labels=" + labelStrBuilder.toString() + "\n" +
   ", reservationsContinueLooking=" + reservationsContinueLooking);
}

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

synchronized void setupQueueConfigs(Resource clusterResource)
  throws IOException {
 super.setupQueueConfigs(clusterResource);
 StringBuilder aclsString = new StringBuilder();
 for (Map.Entry<AccessType, AccessControlList> e : acls.entrySet()) {
  aclsString.append(e.getKey() + ":" + e.getValue().getAclString());
 }
 StringBuilder labelStrBuilder = new StringBuilder(); 
 if (accessibleLabels != null) {
  for (String s : accessibleLabels) {
   labelStrBuilder.append(s);
   labelStrBuilder.append(",");
  }
 }
 LOG.info(queueName +
   ", capacity=" + this.queueCapacities.getCapacity() +
   ", asboluteCapacity=" + this.queueCapacities.getAbsoluteCapacity() +
   ", maxCapacity=" + this.queueCapacities.getMaximumCapacity() +
   ", asboluteMaxCapacity=" + this.queueCapacities.getAbsoluteMaximumCapacity() + 
   ", state=" + state +
   ", acls=" + aclsString + 
   ", labels=" + labelStrBuilder.toString() + "\n" +
   ", reservationsContinueLooking=" + reservationsContinueLooking);
}

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

/**
 * Check sanity of capacities:
 * - capacity <= maxCapacity
 * - absCapacity <= absMaximumCapacity
 */
private static void capacitiesSanityCheck(String queueName,
  QueueCapacities queueCapacities) {
 for (String label : queueCapacities.getExistingNodeLabels()) {
  float capacity = queueCapacities.getCapacity(label);
  float maximumCapacity = queueCapacities.getMaximumCapacity(label);
  if (capacity > maximumCapacity) {
   throw new IllegalArgumentException("Illegal queue capacity setting, "
     + "(capacity=" + capacity + ") > (maximum-capacity="
     + maximumCapacity + "). When label=[" + label + "]");
  }
    // Actually, this may not needed since we have verified capacity <=
  // maximumCapacity. And the way we compute absolute capacity (abs(x) =
  // cap(x) * cap(x.parent) * ...) is a monotone increasing function. But
  // just keep it here to make sure our compute abs capacity method works
  // correctly. 
  float absCapacity = queueCapacities.getAbsoluteCapacity(label);
  float absMaxCapacity = queueCapacities.getAbsoluteMaximumCapacity(label);
  if (absCapacity > absMaxCapacity) {
   throw new IllegalArgumentException("Illegal queue capacity setting, "
     + "(abs-capacity=" + absCapacity + ") > (abs-maximum-capacity="
     + absMaxCapacity + "). When label=[" + label + "]");
  }
 }
}

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

private void updateCapacitiesToZero() throws IOException {
  try {
   for( String nodeLabel : parent.getQueueCapacities().getExistingNodeLabels
     ()) {
    setEntitlement(nodeLabel, new QueueEntitlement(0.0f,
      parent.getLeafQueueTemplate()
        .getQueueCapacities()
        .getMaximumCapacity(nodeLabel)));
   }
  } catch (SchedulerDynamicEditException e) {
   throw new IOException(e);
  }
 }
}

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

public CapacitySchedulerInfo(final CSQueue parent, final NodeLabel nodeLabel) {
 String label = nodeLabel.getLabelName();
 QueueCapacities parentQueueCapacities = parent.getQueueCapacities();
 this.queueName = parent.getQueueName();
 this.usedCapacity = parent.getUsedCapacity(label) * 100;
 this.capacity = parentQueueCapacities.getCapacity(label) * 100;
 float max = parentQueueCapacities.getMaximumCapacity(label);
 if (max < EPSILON || max > 1f)
  max = 1f;
 this.maxCapacity = max * 100;
 queues = getQueues(parent, nodeLabel);
}

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

public CapacitySchedulerInfo(final CSQueue parent, final NodeLabel nodeLabel) {
 String label = nodeLabel.getLabelName();
 QueueCapacities parentQueueCapacities = parent.getQueueCapacities();
 this.queueName = parent.getQueueName();
 this.usedCapacity = parent.getUsedCapacity(label) * 100;
 this.capacity = parentQueueCapacities.getCapacity(label) * 100;
 float max = parentQueueCapacities.getMaximumCapacity(label);
 if (max < EPSILON || max > 1f)
  max = 1f;
 this.maxCapacity = max * 100;
 queues = getQueues(parent, nodeLabel);
}

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

private static void updateAbsoluteCapacitiesByNodeLabels(
  QueueCapacities queueCapacities, QueueCapacities parentQueueCapacities) {
 for (String label : queueCapacities.getExistingNodeLabels()) {
  float capacity = queueCapacities.getCapacity(label);
  if (capacity > 0f) {
   queueCapacities.setAbsoluteCapacity(
     label,
     capacity
       * (parentQueueCapacities == null ? 1 : parentQueueCapacities
         .getAbsoluteCapacity(label)));
  }
  float maxCapacity = queueCapacities.getMaximumCapacity(label);
  if (maxCapacity > 0f) {
   queueCapacities.setAbsoluteMaximumCapacity(
     label,
     maxCapacity
       * (parentQueueCapacities == null ? 1 : parentQueueCapacities
         .getAbsoluteMaximumCapacity(label)));
  }
 }
}

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

private static void updateAbsoluteCapacitiesByNodeLabels(
  QueueCapacities queueCapacities, QueueCapacities parentQueueCapacities) {
 for (String label : queueCapacities.getExistingNodeLabels()) {
  float capacity = queueCapacities.getCapacity(label);
  if (capacity > 0f) {
   queueCapacities.setAbsoluteCapacity(
     label,
     capacity
       * (parentQueueCapacities == null ? 1 : parentQueueCapacities
         .getAbsoluteCapacity(label)));
  }
  float maxCapacity = queueCapacities.getMaximumCapacity(label);
  if (maxCapacity > 0f) {
   queueCapacities.setAbsoluteMaximumCapacity(
     label,
     maxCapacity
       * (parentQueueCapacities == null ? 1 : parentQueueCapacities
         .getAbsoluteMaximumCapacity(label)));
  }
 }
}

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

private static void updateAbsoluteCapacitiesByNodeLabels(
  QueueCapacities queueCapacities, QueueCapacities parentQueueCapacities) {
 for (String label : queueCapacities.getExistingNodeLabels()) {
  float capacity = queueCapacities.getCapacity(label);
  if (capacity > 0f) {
   queueCapacities.setAbsoluteCapacity(
     label,
     capacity
       * (parentQueueCapacities == null ? 1 : parentQueueCapacities
         .getAbsoluteCapacity(label)));
  }
  float maxCapacity = queueCapacities.getMaximumCapacity(label);
  if (maxCapacity > 0f) {
   queueCapacities.setAbsoluteMaximumCapacity(
     label,
     maxCapacity
       * (parentQueueCapacities == null ? 1 : parentQueueCapacities
         .getAbsoluteMaximumCapacity(label)));
  }
 }
}

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

protected QueueInfo getQueueInfo() {
 QueueInfo queueInfo = recordFactory.newRecordInstance(QueueInfo.class);
 queueInfo.setQueueName(queueName);
 queueInfo.setAccessibleNodeLabels(accessibleLabels);
 queueInfo.setCapacity(queueCapacities.getCapacity());
 queueInfo.setMaximumCapacity(queueCapacities.getMaximumCapacity());
 queueInfo.setQueueState(state);
 queueInfo.setDefaultNodeLabelExpression(defaultLabelExpression);
 queueInfo.setCurrentCapacity(getUsedCapacity());
 return queueInfo;
}

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

protected QueueInfo getQueueInfo() {
 QueueInfo queueInfo = recordFactory.newRecordInstance(QueueInfo.class);
 queueInfo.setQueueName(queueName);
 queueInfo.setAccessibleNodeLabels(accessibleLabels);
 queueInfo.setCapacity(queueCapacities.getCapacity());
 queueInfo.setMaximumCapacity(queueCapacities.getMaximumCapacity());
 queueInfo.setQueueState(state);
 queueInfo.setDefaultNodeLabelExpression(defaultLabelExpression);
 queueInfo.setCurrentCapacity(getUsedCapacity());
 return queueInfo;
}

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

protected void validateCapacitiesByLabel(ManagedParentQueue
  autoCreateEnabledParentQueue, AutoCreatedLeafQueue leafQueue, String
  label) throws InterruptedException {
 assertEquals(autoCreateEnabledParentQueue.getLeafQueueTemplate()
     .getQueueCapacities().getCapacity(label),
   leafQueue.getQueueCapacities()
     .getCapacity(label), EPSILON);
 assertEquals(autoCreateEnabledParentQueue.getLeafQueueTemplate()
     .getQueueCapacities().getMaximumCapacity(label),
   leafQueue.getQueueCapacities()
     .getMaximumCapacity(label), EPSILON);
}

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

protected void validateActivatedQueueEntitlement(CSQueue parentQueue,
  String leafQueueName, Map<String, Float>
  expectedTotalChildQueueAbsCapacity,
  List<QueueManagementChange> queueManagementChanges, Set<String>
  expectedNodeLabels)
  throws SchedulerDynamicEditException {
 ManagedParentQueue autoCreateEnabledParentQueue =
   (ManagedParentQueue) parentQueue;
 GuaranteedOrZeroCapacityOverTimePolicy policy =
   (GuaranteedOrZeroCapacityOverTimePolicy) autoCreateEnabledParentQueue
     .getAutoCreatedQueueManagementPolicy();
 QueueCapacities cap = autoCreateEnabledParentQueue.getLeafQueueTemplate()
   .getQueueCapacities();
 AutoCreatedLeafQueue leafQueue = (AutoCreatedLeafQueue)
   cs.getQueue(leafQueueName);
 Map<String, QueueEntitlement> expectedEntitlements = new HashMap<>();
 for (String label : expectedNodeLabels) {
  //validate leaf queue state
  assertEquals(true, policy.isActive(leafQueue, label));
  QueueEntitlement expectedEntitlement = new QueueEntitlement(
    cap.getCapacity(label), cap.getMaximumCapacity(label));
  //validate parent queue state
  assertEquals(expectedTotalChildQueueAbsCapacity.get(label),
    policy.getAbsoluteActivatedChildQueueCapacity(label), EPSILON);
  expectedEntitlements.put(label, expectedEntitlement);
 }
 //validate capacity
 validateQueueEntitlements(leafQueueName, expectedEntitlements,
   queueManagementChanges, expectedNodeLabels);
}

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

protected void validateInitialQueueEntitlement(
  CapacityScheduler capacityScheduler, CSQueue parentQueue,
  String leafQueueName,
  Map<String, Float> expectedTotalChildQueueAbsCapacityByLabel,
  Set<String> nodeLabels)
  throws SchedulerDynamicEditException, InterruptedException {
 ManagedParentQueue autoCreateEnabledParentQueue =
   (ManagedParentQueue) parentQueue;
 GuaranteedOrZeroCapacityOverTimePolicy policy =
   (GuaranteedOrZeroCapacityOverTimePolicy) autoCreateEnabledParentQueue
     .getAutoCreatedQueueManagementPolicy();
 AutoCreatedLeafQueue leafQueue = (AutoCreatedLeafQueue) capacityScheduler.getQueue(leafQueueName);
 Map<String, QueueEntitlement> expectedEntitlements = new HashMap<>();
 QueueCapacities cap = autoCreateEnabledParentQueue.getLeafQueueTemplate()
   .getQueueCapacities();
 for (String label : nodeLabels) {
  validateCapacitiesByLabel(autoCreateEnabledParentQueue, leafQueue, label);
  assertEquals(true, policy.isActive(leafQueue, label));
  assertEquals(expectedTotalChildQueueAbsCapacityByLabel.get(label),
    policy.getAbsoluteActivatedChildQueueCapacity(label), EPSILON);
  QueueEntitlement expectedEntitlement = new QueueEntitlement(
    cap.getCapacity(label), cap.getMaximumCapacity(label));
  expectedEntitlements.put(label, expectedEntitlement);
  validateEffectiveMinResource(leafQueue, label, expectedEntitlements);
 }
}

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

private void validateQueueEntitlementChanges(AutoCreatedLeafQueue leafQueue,
  Map<String, QueueEntitlement> expectedQueueEntitlements,
  final List<QueueManagementChange> queueEntitlementChanges, Set<String>
  expectedNodeLabels) {
 boolean found = false;
 for (QueueManagementChange entitlementChange : queueEntitlementChanges) {
  if (leafQueue.getQueueName().equals(
    entitlementChange.getQueue().getQueueName())) {
   AutoCreatedLeafQueueConfig updatedQueueTemplate =
     entitlementChange.getUpdatedQueueTemplate();
   for (String label : expectedNodeLabels) {
    QueueEntitlement newEntitlement = new QueueEntitlement(
      updatedQueueTemplate.getQueueCapacities().getCapacity(label),
      updatedQueueTemplate.getQueueCapacities().getMaximumCapacity
        (label));
    assertEquals(expectedQueueEntitlements.get(label), newEntitlement);
    validateEffectiveMinResource(leafQueue, label,
      expectedQueueEntitlements);
   }
   found = true;
   break;
  }
 }
 if (!found) {
  fail(
    "Could not find the specified leaf queue in entitlement changes : "
      + leafQueue.getQueueName());
 }
}

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

private void mergeCapacities(QueueCapacities capacities) {
 for ( String nodeLabel : capacities.getExistingNodeLabels()) {
  queueCapacities.setCapacity(nodeLabel,
    capacities.getCapacity(nodeLabel));
  queueCapacities.setAbsoluteCapacity(nodeLabel, capacities
    .getAbsoluteCapacity(nodeLabel));
  queueCapacities.setMaximumCapacity(nodeLabel, capacities
    .getMaximumCapacity(nodeLabel));
  queueCapacities.setAbsoluteMaximumCapacity(nodeLabel, capacities
    .getAbsoluteMaximumCapacity(nodeLabel));
  Resource resourceByLabel = labelManager.getResourceByLabel(nodeLabel,
    csContext.getClusterResource());
  getQueueResourceQuotas().setEffectiveMinResource(nodeLabel,
    Resources.multiply(resourceByLabel,
      queueCapacities.getAbsoluteCapacity(nodeLabel)));
  getQueueResourceQuotas().setEffectiveMaxResource(nodeLabel,
    Resources.multiply(resourceByLabel, queueCapacities
      .getAbsoluteMaximumCapacity(nodeLabel)));
 }
}

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

protected QueueInfo getQueueInfo() {
 // Deliberately doesn't use lock here, because this method will be invoked
 // from schedulerApplicationAttempt, to avoid deadlock, sacrifice
 // consistency here.
 // TODO, improve this
 QueueInfo queueInfo = recordFactory.newRecordInstance(QueueInfo.class);
 queueInfo.setQueueName(queueName);
 queueInfo.setAccessibleNodeLabels(accessibleLabels);
 queueInfo.setCapacity(queueCapacities.getCapacity());
 queueInfo.setMaximumCapacity(queueCapacities.getMaximumCapacity());
 queueInfo.setQueueState(getState());
 queueInfo.setDefaultNodeLabelExpression(defaultLabelExpression);
 queueInfo.setCurrentCapacity(getUsedCapacity());
 queueInfo.setQueueStatistics(getQueueStatistics());
 queueInfo.setPreemptionDisabled(preemptionDisabled);
 queueInfo.setIntraQueuePreemptionDisabled(
   getIntraQueuePreemptionDisabled());
 queueInfo.setQueueConfigurations(getQueueConfigurations());
 return queueInfo;
}

相关文章