当前位置: 首页>>代码示例>>Java>>正文


Java NodeHeartbeatResponse类代码示例

本文整理汇总了Java中org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse的典型用法代码示例。如果您正苦于以下问题:Java NodeHeartbeatResponse类的具体用法?Java NodeHeartbeatResponse怎么用?Java NodeHeartbeatResponse使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


NodeHeartbeatResponse类属于org.apache.hadoop.yarn.server.api.protocolrecords包,在下文中一共展示了NodeHeartbeatResponse类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: newNodeHeartbeatResponse

import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; //导入依赖的package包/类
public static NodeHeartbeatResponse newNodeHeartbeatResponse(int responseId,
    NodeAction action, List<ContainerId> containersToCleanUp,
    List<ApplicationId> applicationsToCleanUp,
    MasterKey containerTokenMasterKey, MasterKey nmTokenMasterKey,
    long nextHeartbeatInterval) {
  NodeHeartbeatResponse response = recordFactory
      .newRecordInstance(NodeHeartbeatResponse.class);
  response.setResponseId(responseId);
  response.setNodeAction(action);
  response.setContainerTokenMasterKey(containerTokenMasterKey);
  response.setNMTokenMasterKey(nmTokenMasterKey);
  response.setNextHeartBeatInterval(nextHeartbeatInterval);
  if(containersToCleanUp != null) {
    response.addAllContainersToCleanup(containersToCleanUp);
  }
  if(applicationsToCleanUp != null) {
    response.addAllApplicationsToCleanup(applicationsToCleanUp);
  }
  return response;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:21,代码来源:YarnServerBuilderUtils.java

示例2: populateKeys

import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; //导入依赖的package包/类
private void populateKeys(NodeHeartbeatRequest request,
    NodeHeartbeatResponse nodeHeartBeatResponse) {

  // Check if node's masterKey needs to be updated and if the currentKey has
  // roller over, send it across

  // ContainerTokenMasterKey

  MasterKey nextMasterKeyForNode =
      this.containerTokenSecretManager.getNextKey();
  if (nextMasterKeyForNode != null
      && (request.getLastKnownContainerTokenMasterKey().getKeyId()
          != nextMasterKeyForNode.getKeyId())) {
    nodeHeartBeatResponse.setContainerTokenMasterKey(nextMasterKeyForNode);
  }

  // NMTokenMasterKey

  nextMasterKeyForNode = this.nmTokenSecretManager.getNextKey();
  if (nextMasterKeyForNode != null
      && (request.getLastKnownNMTokenMasterKey().getKeyId() 
          != nextMasterKeyForNode.getKeyId())) {
    nodeHeartBeatResponse.setNMTokenMasterKey(nextMasterKeyForNode);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:26,代码来源:ResourceTrackerService.java

示例3: updateNodeHeartbeatResponseForCleanup

import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; //导入依赖的package包/类
@Override
public void updateNodeHeartbeatResponseForCleanup(NodeHeartbeatResponse response) {
  this.writeLock.lock();

  try {
    response.addAllContainersToCleanup(
        new ArrayList<ContainerId>(this.containersToClean));
    response.addAllApplicationsToCleanup(this.finishedApplications);
    response.addContainersToBeRemovedFromNM(
        new ArrayList<ContainerId>(this.containersToBeRemovedFromNM));
    this.containersToClean.clear();
    this.finishedApplications.clear();
    this.containersToBeRemovedFromNM.clear();
  } finally {
    this.writeLock.unlock();
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:18,代码来源:RMNodeImpl.java

示例4: waitForContainerCleanup

import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; //导入依赖的package包/类
protected void waitForContainerCleanup(DrainDispatcher dispatcher, MockNM nm,
    NodeHeartbeatResponse resp) throws Exception {
  int waitCount = 0, cleanedConts = 0;
  List<ContainerId> contsToClean;
  do {
    dispatcher.await();
    contsToClean = resp.getContainersToCleanup();
    cleanedConts += contsToClean.size();
    if (cleanedConts >= 1) {
      break;
    }
    Thread.sleep(100);
    resp = nm.nodeHeartbeat(true);
  } while(waitCount++ < 200);

  if (contsToClean.isEmpty()) {
    LOG.error("Failed to get any containers to cleanup");
  } else {
    LOG.info("Got cleanup for " + contsToClean.get(0));
  }
  Assert.assertEquals(1, cleanedConts);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:23,代码来源:TestApplicationCleanup.java

示例5: waitForAppCleanupMessageRecved

import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; //导入依赖的package包/类
private void waitForAppCleanupMessageRecved(MockNM nm, ApplicationId appId)
    throws Exception {
  while (true) {
    NodeHeartbeatResponse response = nm.nodeHeartbeat(true);
    if (response.getApplicationsToCleanup() != null
        && response.getApplicationsToCleanup().size() == 1
        && appId.equals(response.getApplicationsToCleanup().get(0))) {
      return;
    }

    LOG.info("Haven't got application=" + appId.toString()
        + " in cleanup list from node heartbeat response, "
        + "sleep for a while before next heartbeat");
    Thread.sleep(1000);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:17,代码来源:TestApplicationCleanup.java

示例6: testGetNextHeartBeatInterval

import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; //导入依赖的package包/类
/**
 * Test RM read NM next heartBeat Interval correctly from Configuration file,
 * and NM get next heartBeat Interval from RM correctly
 */
@Test (timeout = 50000)
public void testGetNextHeartBeatInterval() throws Exception {
  Configuration conf = new Configuration();
  conf.set(YarnConfiguration.RM_NM_HEARTBEAT_INTERVAL_MS, "4000");

  rm = new MockRM(conf);
  rm.start();

  MockNM nm1 = rm.registerNode("host1:1234", 5120);
  MockNM nm2 = rm.registerNode("host2:5678", 10240);

  NodeHeartbeatResponse nodeHeartbeat = nm1.nodeHeartbeat(true);
  Assert.assertEquals(4000, nodeHeartbeat.getNextHeartBeatInterval());

  NodeHeartbeatResponse nodeHeartbeat2 = nm2.nodeHeartbeat(true);
  Assert.assertEquals(4000, nodeHeartbeat2.getNextHeartBeatInterval());

}
 
开发者ID:naver,项目名称:hadoop,代码行数:23,代码来源:TestResourceTrackerService.java

示例7: testReboot

import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; //导入依赖的package包/类
@Test
public void testReboot() throws Exception {
  Configuration conf = new Configuration();
  rm = new MockRM(conf);
  rm.start();

  MockNM nm1 = rm.registerNode("host1:1234", 5120);
  MockNM nm2 = rm.registerNode("host2:1234", 2048);

  int initialMetricCount = ClusterMetrics.getMetrics().getNumRebootedNMs();
  NodeHeartbeatResponse nodeHeartbeat = nm1.nodeHeartbeat(true);
  Assert.assertTrue(NodeAction.NORMAL.equals(nodeHeartbeat.getNodeAction()));

  nodeHeartbeat = nm2.nodeHeartbeat(
    new HashMap<ApplicationId, List<ContainerStatus>>(), true, -100);
  Assert.assertTrue(NodeAction.RESYNC.equals(nodeHeartbeat.getNodeAction()));
  Assert.assertEquals("Too far behind rm response id:0 nm response id:-100",
    nodeHeartbeat.getDiagnosticsMessage());
  checkRebootedNMCount(rm, ++initialMetricCount);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:21,代码来源:TestResourceTrackerService.java

示例8: nodeHeartbeat

import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; //导入依赖的package包/类
@Override
public NodeHeartbeatResponse nodeHeartbeat(NodeHeartbeatRequest request)
    throws YarnException, IOException {
  System.out.println("RTS receive heartbeat : "
      + System.currentTimeMillis());
  labels = request.getNodeLabels();
  NodeStatus nodeStatus = request.getNodeStatus();
  nodeStatus.setResponseId(heartbeatID++);

  NodeHeartbeatResponse nhResponse =
      YarnServerBuilderUtils.newNodeHeartbeatResponse(heartbeatID,
          NodeAction.NORMAL, null, null, null, null, 1000L);

  // to ensure that heartbeats are sent only when required.
  nhResponse.setNextHeartBeatInterval(Long.MAX_VALUE);
  nhResponse.setAreNodeLabelsAcceptedByRM(labels != null);

  synchronized (ResourceTrackerForLabels.class) {
    receivedNMHeartbeat = true;
    ResourceTrackerForLabels.class.notifyAll();
  }
  return nhResponse;
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:24,代码来源:TestNodeStatusUpdaterForLabels.java

示例9: updateNodeHeartbeatResponseForCleanup

import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; //导入依赖的package包/类
@Override
public void updateNodeHeartbeatResponseForCleanup(NodeHeartbeatResponse response) {
  this.writeLock.lock();

  try {
    response.addAllContainersToCleanup(
        new ArrayList<ContainerId>(this.containersToClean));
    response.addAllApplicationsToCleanup(this.finishedApplications);
    response.addContainersToBeRemovedFromNM(
        new ArrayList<ContainerId>(this.containersToBeRemovedFromNM));
    response.addAllContainersToSignal(this.containersToSignal);
    this.containersToClean.clear();
    this.finishedApplications.clear();
    this.containersToSignal.clear();
    this.containersToBeRemovedFromNM.clear();
  } finally {
    this.writeLock.unlock();
  }
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:20,代码来源:RMNodeImpl.java

示例10: getMockRMNodeStatusEvent

import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; //导入依赖的package包/类
private RMNodeStatusEvent getMockRMNodeStatusEvent(
    List<ContainerStatus> containerStatus) {
  NodeHeartbeatResponse response = mock(NodeHeartbeatResponse.class);

  NodeHealthStatus healthStatus = mock(NodeHealthStatus.class);
  Boolean yes = new Boolean(true);
  doReturn(yes).when(healthStatus).getIsNodeHealthy();
  
  RMNodeStatusEvent event = mock(RMNodeStatusEvent.class);
  doReturn(healthStatus).when(event).getNodeHealthStatus();
  doReturn(response).when(event).getLatestResponse();
  doReturn(RMNodeEventType.STATUS_UPDATE).when(event).getType();
  if (containerStatus != null) {
    doReturn(containerStatus).when(event).getContainers();
  }
  return event;
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:18,代码来源:TestRMNodeTransitions.java

示例11: newNodeHeartbeatResponse

import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; //导入依赖的package包/类
public static NodeHeartbeatResponse newNodeHeartbeatResponse(int responseId,
    NodeAction action, List<ContainerId> containersToCleanUp,
    List<ApplicationId> applicationsToCleanUp,List<NodeContainerUpdate> listNodeContainerUpdate,
    MasterKey containerTokenMasterKey, MasterKey nmTokenMasterKey,
    long nextHeartbeatInterval) {
  NodeHeartbeatResponse response = recordFactory
      .newRecordInstance(NodeHeartbeatResponse.class);
  response.setResponseId(responseId);
  response.setNodeAction(action);
  response.setContainerTokenMasterKey(containerTokenMasterKey);
  response.setNMTokenMasterKey(nmTokenMasterKey);
  response.setNextHeartBeatInterval(nextHeartbeatInterval);
  
  if(containersToCleanUp != null) {
    response.addAllContainersToCleanup(containersToCleanUp);
  }
  if(applicationsToCleanUp != null) {
    response.addAllApplicationsToCleanup(applicationsToCleanUp);
  }
  if(listNodeContainerUpdate != null){
    response.addNodeContainersToUpdate(listNodeContainerUpdate);	
  }
  return response;
}
 
开发者ID:yncxcw,项目名称:big-c,代码行数:25,代码来源:YarnServerBuilderUtils.java

示例12: nodeHeartbeat

import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; //导入依赖的package包/类
@Override
public NodeHeartbeatResponse nodeHeartbeat(NodeHeartbeatRequest request)
    throws YarnException, IOException {
  NodeHeartbeatRequestProto requestProto = ((NodeHeartbeatRequestPBImpl)request).getProto();
  try {
    return new NodeHeartbeatResponsePBImpl(proxy.nodeHeartbeat(null, requestProto));
  } catch (ServiceException e) {
    RPCUtil.unwrapAndThrowException(e);
    return null;
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:12,代码来源:ResourceTrackerPBClientImpl.java

示例13: nodeHeartbeat

import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; //导入依赖的package包/类
@Override
public NodeHeartbeatResponse nodeHeartbeat(NodeHeartbeatRequest request)
    throws YarnException, IOException {
  if (exception) {
    throw new YarnException("testMessage");
  }
  return recordFactory.newRecordInstance(NodeHeartbeatResponse.class);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:9,代码来源:TestResourceTrackerPBClientImpl.java

示例14: nodeHeartbeat

import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; //导入依赖的package包/类
@Override
public NodeHeartbeatResponse nodeHeartbeat(NodeHeartbeatRequest request)
    throws YarnException, IOException {
  NodeStatus nodeStatus = request.getNodeStatus();
  nodeStatus.setResponseId(heartBeatID++);

  NodeHeartbeatResponse nhResponse = YarnServerBuilderUtils.
      newNodeHeartbeatResponse(heartBeatID, heartBeatNodeAction, null,
          null, null, null, 1000L);
  nhResponse.setDiagnosticsMessage(shutDownMessage);
  return nhResponse;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:13,代码来源:TestNodeStatusUpdater.java

示例15: nodeHeartbeat

import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; //导入依赖的package包/类
@Override
public NodeHeartbeatResponse nodeHeartbeat(NodeHeartbeatRequest request)
    throws YarnException, IOException {
  NodeStatus nodeStatus = request.getNodeStatus();
  LOG.info("Got heartbeat number " + heartBeatID);
  nodeStatus.setResponseId(heartBeatID++);

  NodeHeartbeatResponse nhResponse = YarnServerBuilderUtils
      .newNodeHeartbeatResponse(heartBeatID, null, null,
          null, null, null, 1000L);
  return nhResponse;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:13,代码来源:MockNodeStatusUpdater.java


注:本文中的org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。