You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "gaurav gupta (JIRA)" <ji...@apache.org> on 2013/11/14 18:55:22 UTC

[jira] [Created] (YARN-1412) Allocating Containers on a particular Node in Yarn

gaurav gupta created YARN-1412:
----------------------------------

             Summary: Allocating Containers on a particular Node in Yarn
                 Key: YARN-1412
                 URL: https://issues.apache.org/jira/browse/YARN-1412
             Project: Hadoop YARN
          Issue Type: Bug
         Environment: centos, Hadoop 2.2.0
            Reporter: gaurav gupta


I am trying to allocate containers on a particular node in Yarn but Yarn is returning me containers on different node although the requested node has resources available.

Here is the snippet of the code that I am using

AMRMClient<ContainerRequest> amRmClient =  AMRMClient.createAMRMClient();;
    String host = "h1";
    Resource capability = Records.newRecord(Resource.class);
    capability.setMemory(memory);
    nodes = new String[] {host};
    // in order to request a host, we also have to request the rack
    racks = new String[] {"/default-rack"};
     List<ContainerRequest> containerRequests = new ArrayList<ContainerRequest>();
    List<ContainerId> releasedContainers = new ArrayList<ContainerId>();
    containerRequests.add(new ContainerRequest(capability, nodes, racks, Priority.newInstance(priority),false));
    if (containerRequests.size() > 0) {
      LOG.info("Asking RM for containers: " + containerRequests);
      for (ContainerRequest cr : containerRequests) {
        LOG.info("Requested container: {}", cr.toString());
        amRmClient.addContainerRequest(cr);
      }
    }

    for (ContainerId containerId : releasedContainers) {
      LOG.info("Released container, id={}", containerId.getId());
      amRmClient.releaseAssignedContainer(containerId);
    }
    return amRmClient.allocate(0);




--
This message was sent by Atlassian JIRA
(v6.1#6144)