Example usage for org.apache.hadoop.yarn.api.records Resource getVirtualCores

List of usage examples for org.apache.hadoop.yarn.api.records Resource getVirtualCores

Introduction

In this page you can find the example usage for org.apache.hadoop.yarn.api.records Resource getVirtualCores.

Prototype

@Public
@Evolving
public abstract int getVirtualCores();

Source Link

Document

Get number of virtual cpu cores of the resource.

Usage

From source file:org.springframework.yarn.boot.MockUtils.java

License:Apache License

public static Resource getMockResource(int mem, int cores) {
    Resource resource = mock(Resource.class);
    when(resource.getMemory()).thenReturn(mem);
    when(resource.getVirtualCores()).thenReturn(cores);
    return resource;
}

From source file:probos.TestKittenUtils2.java

License:Open Source License

@Test
public void testLuaMemory() throws Exception {
    PBSJob job;/*  w  w w.j  a  va  2s  .  c  om*/
    int mem = 32000;
    job = UtilsForTest.getSimpleJob("testLuaMemory", "#PBS -l nodes=1:mem=" + mem);

    LuaApplicationMasterParameters lamp = testJobCompilesMaster(job);
    List<ContainerLaunchParameters> clpI = lamp.getContainerLaunchParameters();
    assertEquals(1, clpI.size());
    ContainerLaunchParameters clpTask = clpI.get(0);
    Resource MAX = Records.newRecord(Resource.class);
    Resource r;
    MAX.setMemory(Integer.MAX_VALUE);
    MAX.setVirtualCores(100);
    r = clpTask.getContainerResource(MAX);
    assertEquals(mem, r.getMemory());
    assertEquals(1, r.getVirtualCores());

    MAX.setMemory(8192);
    MAX.setVirtualCores(100);
    r = clpTask.getContainerResource(MAX);
    assertEquals(8192, r.getMemory());
    assertEquals(1, r.getVirtualCores());

}

From source file:tachyon.yarn.ApplicationMaster.java

License:Apache License

public void requestContainers() throws Exception {
    // Priority for Tachyon master and worker containers - priorities are intra-application
    Priority priority = Records.newRecord(Priority.class);
    priority.setPriority(0);//  w  ww  .  j a  va2  s. c  o  m

    // Resource requirements for master containers
    Resource masterResource = Records.newRecord(Resource.class);
    masterResource.setMemory(mMasterMemInMB);
    masterResource.setVirtualCores(mMasterCpu);

    String[] nodes = { mMasterAddress };

    // Make container request for Tachyon master to ResourceManager
    boolean relaxLocality = true;
    if (!mMasterAddress.equals("localhost")) {
        relaxLocality = false;
    }
    ContainerRequest masterContainerAsk = new ContainerRequest(masterResource, nodes, null /* any racks */,
            priority, relaxLocality);
    LOG.info("Making resource request for Tachyon master: cpu {} memory {} MB on node {}",
            masterResource.getVirtualCores(), masterResource.getMemory(), mMasterAddress);
    mRMClient.addContainerRequest(masterContainerAsk);

    // Wait until Tachyon master container has been allocated
    while (!mMasterContainerAllocated) {
        Thread.sleep(1000);
    }

    // Resource requirements for master containers
    Resource workerResource = Records.newRecord(Resource.class);
    workerResource.setMemory(mWorkerMemInMB + mRamdiskMemInMB);
    workerResource.setVirtualCores(mWorkerCpu);

    // Make container requests for workers to ResourceManager
    for (int i = 0; i < mNumWorkers; i++) {
        ContainerRequest containerAsk = new ContainerRequest(workerResource, null /* any hosts */,
                null /* any racks */, priority);
        LOG.info("Making resource request for Tachyon worker {}: cpu {} memory {} MB on any nodes", i,
                workerResource.getVirtualCores(), workerResource.getMemory());
        mRMClient.addContainerRequest(containerAsk);
    }

    // Wait until all Tachyon worker containers have been allocated
    while (mNumAllocatedWorkerContainers < mNumWorkers) {
        Thread.sleep(1000);
    }

    LOG.info("Master and workers are launched");
    // Wait for 5 more seconds to avoid application unregistered before some container fully
    // launched.
    while (!mApplicationDone) {
        Thread.sleep(5000);
    }
}

From source file:uk.gov.gchq.gaffer.slider.util.AppConfigGenerator.java

License:Apache License

private AvailableResources getYarnResources() throws IOException, YarnException {
    final Configuration config = new Configuration();
    final YarnClient yarn = YarnClient.createYarnClient();
    yarn.init(config);//  w w w . j av a2  s  .  c  o  m
    yarn.start();

    // Query YARN to find out the largest container it is capable of scheduling
    final YarnClientApplication app = yarn.createApplication();
    final Resource resources = app.getNewApplicationResponse().getMaximumResourceCapability();

    // Also find out how many nodes there are in the cluster by asking for the number of registered Node Managers
    final YarnClusterMetrics metrics = yarn.getYarnClusterMetrics();

    yarn.close();

    return new AvailableResources(resources.getVirtualCores(), resources.getMemory(),
            metrics.getNumNodeManagers());
}

From source file:yarnkit.container.AbstractContainerLaunchParameters.java

License:Apache License

@Override
public Resource getContainerResource(@Nonnull Resource capability) {
    Resource resource = Records.newRecord(Resource.class);
    resource.setVirtualCores(Math.min(capability.getVirtualCores(), getVirtualCores()));
    resource.setMemory(Math.min(capability.getMemory(), getMemory()));
    return resource;
}