public ResourceRequest createResourceReq(String resource, int memory, int priority, int containers) throws Exception { return createResourceReq(resource, memory, priority, containers, null); }
public ResourceRequest createResourceReq(String resource, int memory, int priority, int containers) throws Exception { return createResourceReq(resource, memory, priority, containers, null); }
public List<ResourceRequest> createReq(String[] hosts, int memory, int priority, int containers, String labelExpression) throws Exception { List<ResourceRequest> reqs = new ArrayList<ResourceRequest>(); for (String host : hosts) { // only add host/rack request when asked host isn't ANY if (!host.equals(ResourceRequest.ANY)) { ResourceRequest hostReq = createResourceReq(host, memory, priority, containers, labelExpression); reqs.add(hostReq); ResourceRequest rackReq = createResourceReq("/default-rack", memory, priority, containers, labelExpression); reqs.add(rackReq); } } ResourceRequest offRackReq = createResourceReq(ResourceRequest.ANY, memory, priority, containers, labelExpression); reqs.add(offRackReq); return reqs; }
public ResourceRequest createResourceReq(String resource, int memory, int priority, int containers, String labelExpression) throws Exception { return createResourceReq(resource, memory, priority, containers, labelExpression, ExecutionTypeRequest.newInstance()); }
public List<ResourceRequest> createReq(String[] hosts, int memory, int priority, int containers, String labelExpression, long allocationRequestId) throws Exception { List<ResourceRequest> reqs = new ArrayList<ResourceRequest>(); if (hosts != null) { for (String host : hosts) { // only add host/rack request when asked host isn't ANY if (!host.equals(ResourceRequest.ANY)) { ResourceRequest hostReq = createResourceReq(host, memory, priority, containers, labelExpression); hostReq.setAllocationRequestId(allocationRequestId); reqs.add(hostReq); ResourceRequest rackReq = createResourceReq("/default-rack", memory, priority, containers, labelExpression); rackReq.setAllocationRequestId(allocationRequestId); reqs.add(rackReq); } } } ResourceRequest offRackReq = createResourceReq(ResourceRequest.ANY, memory, priority, containers, labelExpression); offRackReq.setAllocationRequestId(allocationRequestId); reqs.add(offRackReq); return reqs; }
resourceRequest.add(am1.createResourceReq("/default-rack", 1024, 3, 1, RMNodeLabelsManager.NO_LABEL)); resourceRequest.add(am1.createResourceReq("*", 1024, 3, 5, "y")); resourceRequest.add(am1.createResourceReq("h1:1234", 1024, 3, 2, RMNodeLabelsManager.NO_LABEL)); resourceRequest.add(am1.createResourceReq("*", 1024, 2, 3, "y")); resourceRequest.add(am1.createResourceReq("h2:1234", 1024, 2, 4, null)); resourceRequest.add(am1.createResourceReq("*", 1024, 4, 3, null)); resourceRequest.add(am1.createResourceReq("h2:1234", 1024, 4, 4, null)); am1.allocate(resourceRequest, new ArrayList<ContainerId>()); CapacityScheduler cs = newReq.add(am1.createResourceReq("h2:1234", 1024, 3, 4, null)); newReq.add(am1.createResourceReq("*", 1024, 3, 5, "z")); newReq.add(am1.createResourceReq("h1:1234", 1024, 3, 4, null)); newReq.add(am1.createResourceReq("*", 1024, 4, 5, "z")); am1.allocate(newReq, new ArrayList<ContainerId>()); resourceRequest1.add(am1.createResourceReq("/default-rack", 1024, 3, 1, null)); resourceRequest1.add(am1.createResourceReq("*", 1024, 3, 5, null)); resourceRequest1.add(am1.createResourceReq("h1:1234", 1024, 3, 2, RMNodeLabelsManager.NO_LABEL)); resourceRequest1.add(am1.createResourceReq("/default-rack", 1024, 2, 1, null)); resourceRequest1.add(am1.createResourceReq("*", 1024, 2, 3, RMNodeLabelsManager.NO_LABEL)); resourceRequest1.add(am1.createResourceReq("h2:1234", 1024, 2, 4, null)); am1.allocate(resourceRequest1, new ArrayList<ContainerId>());
resourceRequest.add(am1.createResourceReq("/default-rack", 1024, 3, 1, RMNodeLabelsManager.NO_LABEL)); resourceRequest.add(am1.createResourceReq("*", 1024, 3, 5, "y")); resourceRequest.add(am1.createResourceReq("h1:1234", 1024, 3, 2, RMNodeLabelsManager.NO_LABEL)); resourceRequest.add(am1.createResourceReq("*", 1024, 2, 3, "y")); resourceRequest.add(am1.createResourceReq("h2:1234", 1024, 2, 4, null)); resourceRequest.add(am1.createResourceReq("*", 1024, 4, 3, null)); resourceRequest.add(am1.createResourceReq("h2:1234", 1024, 4, 4, null)); am1.allocate(resourceRequest, new ArrayList<ContainerId>()); CapacityScheduler cs = newReq.add(am1.createResourceReq("h2:1234", 1024, 3, 4, null)); newReq.add(am1.createResourceReq("*", 1024, 3, 5, "z")); newReq.add(am1.createResourceReq("h1:1234", 1024, 3, 4, null)); newReq.add(am1.createResourceReq("*", 1024, 4, 5, "z")); am1.allocate(newReq, new ArrayList<ContainerId>()); allResourceRequests = app.getAppSchedulingInfo().getAllResourceRequests(); resourceRequest1.add(am1.createResourceReq("/default-rack", 1024, 3, 1, null)); resourceRequest1.add(am1.createResourceReq("*", 1024, 3, 5, null)); resourceRequest1.add(am1.createResourceReq("h1:1234", 1024, 3, 2, RMNodeLabelsManager.NO_LABEL)); resourceRequest1.add(am1.createResourceReq("/default-rack", 1024, 2, 1, null)); resourceRequest1.add(am1.createResourceReq("*", 1024, 2, 3, RMNodeLabelsManager.NO_LABEL)); resourceRequest1.add(am1.createResourceReq("h2:1234", 1024, 2, 4, null));
@Test public void testAllocateContainerOnNodeWithoutOffSwitchSpecified() throws Exception { Logger rootLogger = LogManager.getRootLogger(); rootLogger.setLevel(Level.DEBUG); MockRM rm = new MockRM(conf); rm.start(); MockNM nm1 = rm.registerNode("127.0.0.1:1234", 6 * GB); RMApp app1 = rm.submitApp(2048); // kick the scheduling, 2 GB given to AM1, remaining 4GB on nm1 nm1.nodeHeartbeat(true); RMAppAttempt attempt1 = app1.getCurrentAppAttempt(); MockAM am1 = rm.sendAMLaunched(attempt1.getAppAttemptId()); am1.registerAppAttempt(); // add request for containers List<ResourceRequest> requests = new ArrayList<ResourceRequest>(); requests.add(am1.createResourceReq("127.0.0.1", 1 * GB, 1, 1)); requests.add(am1.createResourceReq("/default-rack", 1 * GB, 1, 1)); am1.allocate(requests, null); // send the request try { // kick the schedule nm1.nodeHeartbeat(true); } catch (NullPointerException e) { Assert.fail("NPE when allocating container on node but " + "forget to set off-switch request should be handled"); } rm.stop(); }
@Test(timeout = 60000) public void testAllocateContainerOnNodeWithoutOffSwitchSpecified() throws Exception { Logger rootLogger = LogManager.getRootLogger(); rootLogger.setLevel(Level.DEBUG); MockRM rm = new MockRM(conf); rm.start(); MockNM nm1 = rm.registerNode("127.0.0.1:1234", 6 * GB); RMApp app1 = rm.submitApp(2048); // kick the scheduling, 2 GB given to AM1, remaining 4GB on nm1 nm1.nodeHeartbeat(true); RMAppAttempt attempt1 = app1.getCurrentAppAttempt(); MockAM am1 = rm.sendAMLaunched(attempt1.getAppAttemptId()); am1.registerAppAttempt(); // add request for containers List<ResourceRequest> requests = new ArrayList<ResourceRequest>(); requests.add(am1.createResourceReq("127.0.0.1", 1 * GB, 1, 1)); requests.add(am1.createResourceReq("/default-rack", 1 * GB, 1, 1)); am1.allocate(requests, null); // send the request try { // kick the schedule nm1.nodeHeartbeat(true); } catch (NullPointerException e) { Assert.fail("NPE when allocating container on node but " + "forget to set off-switch request should be handled"); } rm.stop(); }