本文整理了Java中org.apache.hadoop.yarn.api.records.Resource.getVirtualCores
方法的一些代码示例,展示了Resource.getVirtualCores
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Resource.getVirtualCores
方法的具体详情如下:
包路径:org.apache.hadoop.yarn.api.records.Resource
类名称:Resource
方法名:getVirtualCores
[英]Get number of virtual cpu cores of the resource. Virtual cores are a unit for expressing CPU parallelism. A node's capacity should be configured with virtual cores equal to its number of physical cores. A container should be requested with the number of cores it can saturate, i.e. the average number of threads it expects to have runnable at a time.
[中]获取资源的虚拟cpu核心数。虚拟核是表示CPU并行性的单元。一个节点的容量应该配置与物理核数量相等的虚拟核。请求一个容器时,应该包含它可以饱和的内核数,即它希望一次可以运行的线程的平均数。
代码示例来源:origin: apache/drill
@Override
public void limitContainerSize(Resource maxResource) throws AMException {
if (taskSpec.containerSpec.memoryMb > maxResource.getMemory()) {
LOG.warn(taskSpec.name + " requires " + taskSpec.containerSpec.memoryMb
+ " MB but the maximum YARN container size is "
+ maxResource.getMemory() + " MB");
taskSpec.containerSpec.memoryMb = maxResource.getMemory();
}
if (taskSpec.containerSpec.vCores > maxResource.getVirtualCores()) {
LOG.warn(taskSpec.name + " requires " + taskSpec.containerSpec.vCores
+ " vcores but the maximum YARN container size is "
+ maxResource.getVirtualCores() + " vcores");
taskSpec.containerSpec.vCores = maxResource.getVirtualCores();
}
}
代码示例来源:origin: apache/incubator-gobblin
private Resource prepareContainerResource(GetNewApplicationResponse newApplicationResponse) {
int memoryMbs = this.config.getInt(GobblinYarnConfigurationKeys.APP_MASTER_MEMORY_MBS_KEY);
int maximumMemoryCapacity = newApplicationResponse.getMaximumResourceCapability().getMemory();
if (memoryMbs > maximumMemoryCapacity) {
LOGGER.info(String.format("Specified AM memory [%d] is above the maximum memory capacity [%d] of the "
+ "cluster, using the maximum memory capacity instead.", memoryMbs, maximumMemoryCapacity));
memoryMbs = maximumMemoryCapacity;
}
int vCores = this.config.getInt(GobblinYarnConfigurationKeys.APP_MASTER_CORES_KEY);
int maximumVirtualCoreCapacity = newApplicationResponse.getMaximumResourceCapability().getVirtualCores();
if (vCores > maximumVirtualCoreCapacity) {
LOGGER.info(String.format("Specified AM vcores [%d] is above the maximum vcore capacity [%d] of the "
+ "cluster, using the maximum vcore capacity instead.", memoryMbs, maximumMemoryCapacity));
vCores = maximumVirtualCoreCapacity;
}
// Set up resource type requirements for ApplicationMaster
return Resource.newInstance(memoryMbs, vCores);
}
代码示例来源:origin: apache/hive
@Override
public Resource getTotalResources() {
int memory = 0;
int vcores = 0;
readLock.lock();
try {
int numInstancesFound = 0;
for (LlapServiceInstance inst : activeInstances.getAll()) {
Resource r = inst.getResource();
memory += r.getMemory();
vcores += r.getVirtualCores();
numInstancesFound++;
}
if (LOG.isDebugEnabled()) {
LOG.debug("GetTotalResources: numInstancesFound={}, totalMem={}, totalVcores={}",
numInstancesFound, memory, vcores);
}
} finally {
readLock.unlock();
}
return Resource.newInstance(memory, vcores);
}
代码示例来源:origin: alibaba/jstorm
@Override
public String info() throws TException {
StringBuffer sbRet = new StringBuffer();
sbRet.append("JstormOnYarn\n");
sbRet.append("Instance Name:" + jstormMasterContext.instanceName + "\n");
sbRet.append("Jstorm's location on hdfs:" + jstormMasterContext.deployPath + "\n");
if (jstormMasterContext.user != null) {
sbRet.append("Jstorm's data path:" + jstormMasterContext.nimbusDataDirPrefix + jstormMasterContext.instanceName + "\n");
sbRet.append("Cluster userName:" + jstormMasterContext.user + "\n");
}
sbRet.append("Nimbus Count:" + jstormMasterContext.nimbusContainers.size() + "\n");
sbRet.append("Supervisor Count:" + jstormMasterContext.supervisorContainers.size() + "\n");
sbRet.append("detail :\n");
sbRet.append("Type \tContainerId \tHost \tContainerMemory\tContainerVCores\n");
for (Container container : jstormMasterContext.nimbusContainers) {
sbRet.append("Nimbus \t" + container.getId().toString() + "\t" + container.getNodeId().getHost() + "\t" + container.getResource().getMemory()
+ "\t " + container.getResource().getVirtualCores() + "\n");
}
for (Container container : jstormMasterContext.supervisorContainers) {
sbRet.append("Supervisor\t" + container.getId().toString() + "\t" + container.getNodeId().getHost() + "\t" + container.getResource().getMemory()
+ "\t " + container.getResource().getVirtualCores() + "\n");
}
LOG.info("info is: " + sbRet.toString());
return sbRet.toString();
}
代码示例来源:origin: apache/drill
/**
* Utility method to display YARN container information in a useful way for
* log messages.
*
* @param container
* @return
*/
public static String describeContainer(Container container) {
StringBuilder buf = new StringBuilder()
.append("[id: ")
.append(container.getId())
.append(", host: ")
.append(container.getNodeId().getHost())
.append(", priority: ")
.append(container.getPriority())
.append(", memory: ")
.append(container.getResource().getMemory())
.append(" MB, vcores: ")
.append(container.getResource().getVirtualCores())
.append("]");
return buf.toString();
}
代码示例来源:origin: apache/drill
private void yarnReport() {
RegisterApplicationMasterResponse response = yarn.getRegistrationResponse();
LOG.info("YARN queue: " + response.getQueue());
Resource resource = response.getMaximumResourceCapability();
LOG.info("YARN max resource: " + resource.getMemory() + " MB, "
+ resource.getVirtualCores() + " cores");
EnumSet<SchedulerResourceTypes> types = response
.getSchedulerResourceTypes();
StringBuilder buf = new StringBuilder();
String sep = "";
for (SchedulerResourceTypes type : types) {
buf.append(sep);
buf.append(type.toString());
sep = ", ";
}
LOG.info("YARN scheduler resource types: " + buf.toString());
}
代码示例来源:origin: apache/flink
final Resource res = rep.getCapability();
totalMemory += res.getMemory();
totalCores += res.getVirtualCores();
ps.format(format, "NodeID", rep.getNodeId());
ps.format(format, "Memory", res.getMemory() + " MB");
ps.format(format, "vCores", res.getVirtualCores());
ps.format(format, "HealthReport", rep.getHealthReport());
ps.format(format, "Containers", rep.getNumContainers());
代码示例来源:origin: apache/incubator-gobblin
if (usedResource != null) {
messageBuilder.append("\tUsed memory (MBs): ").append(usedResource.getMemory()).append("\n");
messageBuilder.append("\tUsed vcores: ").append(usedResource.getVirtualCores()).append("\n");
代码示例来源:origin: apache/incubator-gobblin
private void requestContainer(Optional<String> preferredNode) {
Priority priority = Records.newRecord(Priority.class);
priority.setPriority(0);
Resource capability = Records.newRecord(Resource.class);
int maxMemoryCapacity = this.maxResourceCapacity.get().getMemory();
capability.setMemory(this.requestedContainerMemoryMbs <= maxMemoryCapacity ?
this.requestedContainerMemoryMbs : maxMemoryCapacity);
int maxCoreCapacity = this.maxResourceCapacity.get().getVirtualCores();
capability.setVirtualCores(this.requestedContainerCores <= maxCoreCapacity ?
this.requestedContainerCores : maxCoreCapacity);
String[] preferredNodes = preferredNode.isPresent() ? new String[] {preferredNode.get()} : null;
this.amrmClientAsync.addContainerRequest(
new AMRMClient.ContainerRequest(capability, preferredNodes, null, priority));
}
代码示例来源:origin: apache/hive
Resource r = inst.getResource();
memory += r.getMemory();
vcores += r.getVirtualCores();
numInstancesFound++;
代码示例来源:origin: apache/ignite
/**
* @return {@code True} if cluster contains available resources.
*/
private boolean checkAvailableResource() {
Resource availableRes = rmClient.getAvailableResources();
return availableRes == null || availableRes.getMemory() >= props.totalMemoryPerNode()
&& availableRes.getVirtualCores() >= props.cpusPerNode();
}
代码示例来源:origin: apache/drill
private void validateResources( AppSpec master ) throws ClientException {
// Memory and core checks per YARN app specs.
int maxMemory = appResponse.getMaximumResourceCapability().getMemory();
int maxCores = appResponse.getMaximumResourceCapability().getVirtualCores();
if (verbose) {
System.out.println("Max Memory: " + maxMemory);
System.out.println("Max Cores: " + maxCores);
}
// YARN behaves very badly if we request a container larger than the
// maximum.
if (master.memoryMb > maxMemory) {
throw new ClientException( "YARN maximum memory is " + maxMemory
+ " but the application master requests " + master.memoryMb );
}
if (master.vCores > maxCores) {
throw new ClientException("YARN maximum vcores is " + maxCores
+ " but the application master requests " + master.vCores);
}
// Verify the limits for the Drillbit as well.
if (config.getInt(DrillOnYarnConfig.DRILLBIT_MEMORY) > maxMemory) {
throw new ClientException(
"YARN maximum memory is " + maxMemory + " but the Drillbit requests "
+ config.getInt(DrillOnYarnConfig.DRILLBIT_MEMORY));
}
if (config.getInt(DrillOnYarnConfig.DRILLBIT_VCORES) > maxCores) {
throw new ClientException("YARN maximum vcores is " + maxCores
+ " but the Drillbit requests "
+ config.getInt(DrillOnYarnConfig.DRILLBIT_VCORES));
}
}
代码示例来源:origin: apache/flink
numYarnMaxVcores = yarnClient.getNodeReports(NodeState.RUNNING)
.stream()
.mapToInt(report -> report.getCapability().getVirtualCores())
.max()
.orElse(0);
代码示例来源:origin: apache/drill
private void buildNodeMap() throws YarnFacadeException {
List<NodeReport> nodes = yarn.getNodeReports();
for (NodeReport node : nodes) {
String hostName = node.getNodeId().getHost();
nodeMap.put(hostName, node.getHttpAddress());
yarnNodes.put(hostName, node);
}
if (LOG.isInfoEnabled()) {
LOG.info("YARN Node report");
for (NodeReport node : nodes) {
LOG.info("Node: " + node.getHttpAddress() + ", Rack: "
+ node.getRackName() + " has " + node.getCapability().getMemory()
+ " MB, " + node.getCapability().getVirtualCores()
+ " vcores, labels: " + node.getNodeLabels());
}
}
}
代码示例来源:origin: apache/hive
this.metrics = metrics;
int numVcores = serviceInstance.getResource().getVirtualCores();
int memoryPerInstance = serviceInstance.getResource().getMemory();
int memoryPerExecutor = (int)(memoryPerInstance / (double) numVcores);
.get(ConfVars.LLAP_DAEMON_TASK_SCHEDULER_WAIT_QUEUE_SIZE.varname);
LOG.info("Setting up node: {} with available capacity={}, pendingQueueSize={}, memory={}",
serviceInstance, serviceInstance.getResource().getVirtualCores(),
pendingQueueCapacityString, serviceInstance.getResource().getMemory());
if (pendingQueueCapacityString != null) {
代码示例来源:origin: apache/ignite
/**
* @param cont Container.
* @return {@code True} if container satisfies requirements.
*/
private boolean checkContainer(Container cont) {
// Check limit on running nodes.
if (props.instances() <= containers.size())
return false;
// Check host name
if (props.hostnameConstraint() != null
&& props.hostnameConstraint().matcher(cont.getNodeId().getHost()).matches())
return false;
// Check that slave satisfies min requirements.
if (cont.getResource().getVirtualCores() < props.cpusPerNode()
|| cont.getResource().getMemory() < props.totalMemoryPerNode()) {
log.log(Level.FINE, "Container resources not sufficient requirements. Host: {0}, cpu: {1}, mem: {2}",
new Object[]{cont.getNodeId().getHost(), cont.getResource().getVirtualCores(),
cont.getResource().getMemory()});
return false;
}
return true;
}
代码示例来源:origin: apache/ignite
c.getId(),
c.getNodeId(),
c.getResource().getVirtualCores(),
c.getResource().getMemory()));
代码示例来源:origin: apache/hive
ss.out.println(Joiner.on("\t").join(appId, instance.getWorkerIdentity(), instance.getHost(),
instance.getRpcPort(), instance.getResource().getMemory() * 1024L * 1024L,
instance.getResource().getVirtualCores()));
代码示例来源:origin: alibaba/jstorm
+ allocatedContainer.getResource().getMemory()
+ ", containerResourceVirtualCores"
+ allocatedContainer.getResource().getVirtualCores());
代码示例来源:origin: apache/hive
if (r != null) {
jg.writeObjectFieldStart("resource");
jg.writeNumberField("vcores", r.getVirtualCores());
jg.writeNumberField("memory", r.getMemory());
jg.writeEndObject();
内容来源于网络,如有侵权,请联系作者删除!