@Override public String getHostName() { return node.getHostName(); }
public SchedulerNode(RMNode node, boolean usePortForNodeName, Set<String> labels) { this.rmNode = node; this.availableResource = Resources.clone(node.getTotalCapability()); this.totalResourceCapability = Resources.clone(node.getTotalCapability()); if (usePortForNodeName) { nodeName = rmNode.getHostName() + ":" + node.getNodeID().getPort(); } else { nodeName = rmNode.getHostName(); } this.labels = ImmutableSet.copyOf(labels); }
public SchedulerNode(RMNode node, boolean usePortForNodeName, Set<String> labels) { this.rmNode = node; this.availableResource = Resources.clone(node.getTotalCapability()); this.totalResourceCapability = Resources.clone(node.getTotalCapability()); if (usePortForNodeName) { nodeName = rmNode.getHostName() + ":" + node.getNodeID().getPort(); } else { nodeName = rmNode.getHostName(); } this.labels = ImmutableSet.copyOf(labels); }
public SchedulerNode(RMNode node, boolean usePortForNodeName, Set<String> labels) { this.rmNode = node; this.rmContext = node.getRMContext(); this.unallocatedResource = Resources.clone(node.getTotalCapability()); this.totalResource = Resources.clone(node.getTotalCapability()); if (usePortForNodeName) { nodeName = rmNode.getHostName() + ":" + node.getNodeID().getPort(); } else { nodeName = rmNode.getHostName(); } this.labels = ImmutableSet.copyOf(labels); this.lastHeartbeatMonotonicTime = Time.monotonicNow(); }
private RMNode createNode() { RMNode node = mock(RMNode.class); when(node.getTotalCapability()).thenReturn(Resource.newInstance(8192, 8)); when(node.getHostName()).thenReturn("host.domain.com"); return node; }
@Override public void run() { long now = Time.monotonicNow(); for (Map.Entry<NodeId, RMNode> entry : rmContext.getInactiveRMNodes().entrySet()) { NodeId nodeId = entry.getKey(); RMNode rmNode = entry.getValue(); if (isUntrackedNode(rmNode.getHostName())) { if (rmNode.getUntrackedTimeStamp() == 0) { rmNode.setUntrackedTimeStamp(now); } else if (now - rmNode.getUntrackedTimeStamp() > nodeRemovalTimeout) { RMNode result = rmContext.getInactiveRMNodes().remove(nodeId); if (result != null) { decrInactiveNMMetrics(rmNode); LOG.info("Removed " +result.getState().toString() + " node " + result.getHostName() + " from inactive nodes list"); } } } else { rmNode.setUntrackedTimeStamp(0); } } } }, nodeRemovalCheckInterval, nodeRemovalCheckInterval);
public static FiCaSchedulerNode getMockNode(String host, String rack, int port, int memory, int vcores) { NodeId nodeId = NodeId.newInstance(host, port); RMNode rmNode = mock(RMNode.class); when(rmNode.getNodeID()).thenReturn(nodeId); when(rmNode.getTotalCapability()).thenReturn( Resources.createResource(memory, vcores)); when(rmNode.getNodeAddress()).thenReturn(host+":"+port); when(rmNode.getHostName()).thenReturn(host); when(rmNode.getRackName()).thenReturn(rack); when(rmNode.getState()).thenReturn(NodeState.RUNNING); FiCaSchedulerNode node = spy(new FiCaSchedulerNode(rmNode, false)); LOG.info("node = " + host + " avail=" + node.getUnallocatedResource()); when(node.getNodeID()).thenReturn(nodeId); return node; }
public static FiCaSchedulerNode getMockNode( String host, String rack, int port, int capability) { NodeId nodeId = mock(NodeId.class); when(nodeId.getHost()).thenReturn(host); when(nodeId.getPort()).thenReturn(port); RMNode rmNode = mock(RMNode.class); when(rmNode.getNodeID()).thenReturn(nodeId); when(rmNode.getTotalCapability()).thenReturn( Resources.createResource(capability, 1)); when(rmNode.getNodeAddress()).thenReturn(host+":"+port); when(rmNode.getHostName()).thenReturn(host); when(rmNode.getRackName()).thenReturn(rack); FiCaSchedulerNode node = spy(new FiCaSchedulerNode(rmNode, false)); LOG.info("node = " + host + " avail=" + node.getAvailableResource()); return node; }
private int getMaxAllocatableContainers(FifoAppAttempt application, SchedulerRequestKey schedulerKey, FiCaSchedulerNode node, NodeType type) { PendingAsk offswitchAsk = application.getPendingAsk(schedulerKey, ResourceRequest.ANY); int maxContainers = offswitchAsk.getCount(); if (type == NodeType.OFF_SWITCH) { return maxContainers; } if (type == NodeType.RACK_LOCAL) { PendingAsk rackLocalAsk = application.getPendingAsk(schedulerKey, node.getRackName()); if (rackLocalAsk.getCount() <= 0) { return maxContainers; } maxContainers = Math.min(maxContainers, rackLocalAsk.getCount()); } if (type == NodeType.NODE_LOCAL) { PendingAsk nodeLocalAsk = application.getPendingAsk(schedulerKey, node.getRMNode().getHostName()); if (nodeLocalAsk.getCount() > 0) { maxContainers = Math.min(maxContainers, nodeLocalAsk.getCount()); } } return maxContainers; }
public NodeInfo(RMNode ni, ResourceScheduler sched) { NodeId id = ni.getNodeID(); SchedulerNodeReport report = sched.getNodeReport(id); this.numContainers = 0; this.usedMemoryMB = 0; this.availMemoryMB = 0; if (report != null) { this.numContainers = report.getNumContainers(); this.usedMemoryMB = report.getUsedResource().getMemory(); this.availMemoryMB = report.getAvailableResource().getMemory(); this.usedVirtualCores = report.getUsedResource().getVirtualCores(); this.availableVirtualCores = report.getAvailableResource().getVirtualCores(); } this.id = id.toString(); this.rack = ni.getRackName(); this.nodeHostName = ni.getHostName(); this.state = ni.getState(); this.nodeHTTPAddress = ni.getHttpAddress(); this.lastHealthUpdate = ni.getLastHealthReportTime(); this.healthReport = String.valueOf(ni.getHealthReport()); this.version = ni.getNodeManagerVersion(); // add labels Set<String> labelSet = ni.getNodeLabels(); if (labelSet != null) { nodeLabels.addAll(labelSet); Collections.sort(nodeLabels); } }
public NodeInfo(RMNode ni, ResourceScheduler sched) { NodeId id = ni.getNodeID(); SchedulerNodeReport report = sched.getNodeReport(id); this.numContainers = 0; this.usedMemoryMB = 0; this.availMemoryMB = 0; if (report != null) { this.numContainers = report.getNumContainers(); this.usedMemoryMB = report.getUsedResource().getMemory(); this.availMemoryMB = report.getAvailableResource().getMemory(); this.usedVirtualCores = report.getUsedResource().getVirtualCores(); this.availableVirtualCores = report.getAvailableResource().getVirtualCores(); } this.id = id.toString(); this.rack = ni.getRackName(); this.nodeHostName = ni.getHostName(); this.state = ni.getState(); this.nodeHTTPAddress = ni.getHttpAddress(); this.lastHealthUpdate = ni.getLastHealthReportTime(); this.healthReport = String.valueOf(ni.getHealthReport()); this.version = ni.getNodeManagerVersion(); // add labels Set<String> labelSet = ni.getNodeLabels(); if (labelSet != null) { nodeLabels.addAll(labelSet); Collections.sort(nodeLabels); } }
ApplicationId application1 = BuilderUtils.newApplicationId(ts, 123); RMNode n0r1 = rmNodes.get(0); SchedulerNode schedulerNode0 = newSchedulerNode(n0r1.getHostName(), n0r1.getRackName(), n0r1.getNodeID());
SchedulerNodeReport report = scheduler.getNodeReport(ni.getNodeID()); InfoMap info = new InfoMap(); info.put("HostName", ni.getHostName()); info.put("Rack", ni.getRackName()); info.put("State", ni.getState().toString());
RMNode n3_r2 = rmNodes.get(3); SchedulerNode schedulerNode0 =newSchedulerNode(n0_r1.getHostName(), n0_r1.getRackName(), n0_r1.getNodeID()); SchedulerNode schedulerNode1 =newSchedulerNode(n1_r1.getHostName(), n1_r1.getRackName(), n1_r1.getNodeID()); SchedulerNode schedulerNode2 =newSchedulerNode(n2_r2.getHostName(), n2_r2.getRackName(), n2_r2.getNodeID()); SchedulerNode schedulerNode3 =newSchedulerNode(n3_r2.getHostName(), n3_r2.getRackName(), n3_r2.getNodeID());
SchedulerNodeReport report = scheduler.getNodeReport(ni.getNodeID()); InfoMap info = new InfoMap(); info.put("HostName", ni.getHostName()); info.put("Rack", ni.getRackName()); info.put("State", ni.getState().toString());
"user1", 0); ResourceRequest nodeRequest = createResourceRequest(1024, node1.getHostName(), 1, 1, true); ResourceRequest rackRequest = createResourceRequest(1024, "rack1", 1, 1, false); ResourceRequest anyRequest = createResourceRequest(1024, ResourceRequest.ANY, createResourceRequest(1024, node1.getHostName(), 1, 0, true), createResourceRequest(1024, "rack1", 1, 0, true), createResourceRequest(1024, ResourceRequest.ANY, 1, 1, true));
"user1", 0); ResourceRequest nodeRequest = createResourceRequest(1024, node1.getHostName(), 1, 1, true); ResourceRequest rackRequest = createResourceRequest(1024, "rack1", 1, 1, false); ResourceRequest anyRequest = createResourceRequest(1024, ResourceRequest.ANY, createResourceRequest(1024, node1.getHostName(), 1, 0, true), createResourceRequest(1024, "rack1", 1, 0, true), createResourceRequest(1024, ResourceRequest.ANY, 1, 1, true));
createResourceRequest(GB, node1.getHostName(), 1, 4, true); ResourceRequest rackRequest = createResourceRequest(GB * 10, node1.getRackName(), 1, 1, true);
"user1", 0); ResourceRequest nodeRequest = createResourceRequest(1024, node1.getHostName(), 1, 1, true); ResourceRequest rackRequest = createResourceRequest(1024, node1.getRackName(), 1, 1, false); ResourceRequest anyRequest = createResourceRequest(1024, ResourceRequest.ANY,
createResourceRequest(1024, node2.getHostName(), 1, 1, true); ResourceRequest rackRequest = createResourceRequest(1024, "rack1", 1, 1, false);