Example usage for org.apache.hadoop.yarn.util RackResolver resolve

List of usage examples for org.apache.hadoop.yarn.util RackResolver resolve

Introduction

In this page you can find the example usage for org.apache.hadoop.yarn.util RackResolver resolve.

Prototype

public static Node resolve(Configuration conf, String hostName) 

Source Link

Document

Utility method for getting a hostname resolved to a node in the network topology.

Usage

From source file:org.springframework.yarn.am.grid.support.AbstractGridProjection.java

License:Apache License

private String resolveRack(GridMember member) {
    if (getConfiguration() != null) {
        String host = member.getContainer().getNodeId().getHost();
        String rack = RackResolver.resolve(getConfiguration(), host).getNetworkLocation();
        if (rack == null) {
            log.warn("Failed to resolve rack for node " + host + ".");
        } else {//from  w  ww  .  jav a 2s .  c  o  m
            log.info("Resolve rack for node " + host + " into " + rack);
        }
        return rack;
    } else {
        return null;
    }
}

From source file:org.springframework.yarn.am.grid.support.DefaultGridProjection.java

License:Apache License

private boolean tryRackAccept(GridMember member) {
    if (getConfiguration() != null) {
        String host = member.getContainer().getNodeId().getHost();
        String rack = RackResolver.resolve(getConfiguration(), host).getNetworkLocation();
        if (rack == null) {
            log.warn("Failed to resolve rack for node " + host + ".");
        } else {/*from   w ww  .ja  va 2 s.co  m*/
            log.info("Resolve rack for node " + host + " into " + rack);
            Integer target = getProjectionData().getRacks().get(rack);
            Collection<GridMember> rackCountMembers = getRackCountMembers(rack);
            if (rackCountMembers != null && target != null && rackCountMembers.size() < target) {
                if (addRackMember(member)) {
                    return true;
                }
            }
        }
    } else {
        log.warn("Failed to resolve rack for node - no configuration");
    }
    return false;
}

From source file:org.springframework.yarn.am.grid.support.RacksGridProjection.java

License:Apache License

@Override
public boolean acceptMember(GridMember member) {

    if (!isSamePriority(member)) {
        return false;
    }/*ww  w.  jav  a  2  s  .  co m*/

    String host = member.getContainer().getNodeId().getHost();
    Collection<GridMember> hostCountMembers = getHostCountMembers(host);

    Integer target = null;
    if (getConfiguration() != null) {
        String rack = RackResolver.resolve(getConfiguration(), host).getNetworkLocation();
        if (rack == null) {
            log.warn("Failed to resolve rack for node " + host + ".");
        } else {
            log.info("Resolve rack for node " + host + " into " + rack);
            target = getProjectionData().getRacks().get(rack);
        }
    } else {
        log.warn("Failed to resolve rack for node - no configuration");
    }

    if (target == null) {
        return false;
    }

    if (hostCountMembers.size() < target) {
        return addMember(member);
    } else {
        return false;
    }
}