Example usage for org.apache.hadoop.yarn.server.resourcemanager.scheduler.event NodeAddedSchedulerEvent getAddedRMNode

List of usage examples for org.apache.hadoop.yarn.server.resourcemanager.scheduler.event NodeAddedSchedulerEvent getAddedRMNode

Introduction

In this page you can find the example usage for org.apache.hadoop.yarn.server.resourcemanager.scheduler.event NodeAddedSchedulerEvent getAddedRMNode.

Prototype

public RMNode getAddedRMNode() 

Source Link

Usage

From source file:org.apache.myriad.scheduler.fgs.YarnNodeCapacityManager.java

License:Apache License

@Override
public void afterSchedulerEventHandled(SchedulerEvent event) {
    switch (event.getType()) {
    case NODE_ADDED:
        if (!(event instanceof NodeAddedSchedulerEvent)) {
            LOGGER.error("{} not an instance of {}", event.getClass().getName(),
                    NodeAddedSchedulerEvent.class.getName());
            return;
        }//from  w  w  w .j ava 2 s .  co  m

        NodeAddedSchedulerEvent nodeAddedEvent = (NodeAddedSchedulerEvent) event;
        NodeId nodeId = nodeAddedEvent.getAddedRMNode().getNodeID();
        String host = nodeId.getHost();

        SchedulerNode node = yarnScheduler.getSchedulerNode(nodeId);
        nodeStore.add(node);
        LOGGER.info("afterSchedulerEventHandled: NM registration from node {}", host);
        break;

    case NODE_UPDATE:
        if (!(event instanceof NodeUpdateSchedulerEvent)) {
            LOGGER.error("{} not an instance of {}", event.getClass().getName(),
                    NodeUpdateSchedulerEvent.class.getName());
            return;
        }

        RMNode rmNode = ((NodeUpdateSchedulerEvent) event).getRMNode();
        handleContainerAllocation(rmNode);

        break;

    default:
        break;
    }
}