List of usage examples for org.apache.hadoop.yarn.api.records Resource getVirtualCores
@Public @Evolving public abstract int getVirtualCores();
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; }