• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java NodeHeartbeatResponse类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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


示例16: RMNodeStatusEvent

import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; //导入依赖的package包/类
public RMNodeStatusEvent(NodeId nodeId, NodeHealthStatus nodeHealthStatus,
    List<ContainerStatus> collection, List<ApplicationId> keepAliveAppIds,
    NodeHeartbeatResponse latestResponse) {
  super(nodeId, RMNodeEventType.STATUS_UPDATE);
  this.nodeHealthStatus = nodeHealthStatus;
  this.containersCollection = collection;
  this.keepAliveAppIds = keepAliveAppIds;
  this.latestResponse = latestResponse;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:10,代码来源:RMNodeStatusEvent.java


示例17: getLastNodeHeartBeatResponse

import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; //导入依赖的package包/类
@Override
public NodeHeartbeatResponse getLastNodeHeartBeatResponse() {

  this.readLock.lock();

  try {
    return this.latestNodeHeartBeatResponse;
  } finally {
    this.readLock.unlock();
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:12,代码来源:RMNodeImpl.java


示例18: heartbeat

import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; //导入依赖的package包/类
public void heartbeat() throws IOException, YarnException {
  NodeStatus nodeStatus = 
    org.apache.hadoop.yarn.server.resourcemanager.NodeManager.createNodeStatus(
        nodeId, getContainerStatuses(containers));
  nodeStatus.setResponseId(responseID);
  NodeHeartbeatRequest request = recordFactory
      .newRecordInstance(NodeHeartbeatRequest.class);
  request.setNodeStatus(nodeStatus);
  NodeHeartbeatResponse response = resourceTrackerService
      .nodeHeartbeat(request);
  responseID = response.getResponseId();
}
 
开发者ID:naver,项目名称:hadoop,代码行数:13,代码来源:NodeManager.java


示例19: getMockRMNodeStatusEvent

import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; //导入依赖的package包/类
private RMNodeStatusEvent getMockRMNodeStatusEvent() {
  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();
  return event;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:14,代码来源:TestRMNodeTransitions.java


示例20: testUpdateHeartbeatResponseForCleanup

import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; //导入依赖的package包/类
@Test(timeout=20000)
public void testUpdateHeartbeatResponseForCleanup() {
  RMNodeImpl node = getRunningNode();
  NodeId nodeId = node.getNodeID();

  // Expire a container
ContainerId completedContainerId = BuilderUtils.newContainerId(
		BuilderUtils.newApplicationAttemptId(
				BuilderUtils.newApplicationId(0, 0), 0), 0);
  node.handle(new RMNodeCleanContainerEvent(nodeId, completedContainerId));
  Assert.assertEquals(1, node.getContainersToCleanUp().size());

  // Finish an application
  ApplicationId finishedAppId = BuilderUtils.newApplicationId(0, 1);
  node.handle(new RMNodeCleanAppEvent(nodeId, finishedAppId));
  Assert.assertEquals(1, node.getAppsToCleanup().size());

  // Verify status update does not clear containers/apps to cleanup
  // but updating heartbeat response for cleanup does
  RMNodeStatusEvent statusEvent = getMockRMNodeStatusEvent();
  node.handle(statusEvent);
  Assert.assertEquals(1, node.getContainersToCleanUp().size());
  Assert.assertEquals(1, node.getAppsToCleanup().size());
  NodeHeartbeatResponse hbrsp = Records.newRecord(NodeHeartbeatResponse.class);
  node.updateNodeHeartbeatResponseForCleanup(hbrsp);
  Assert.assertEquals(0, node.getContainersToCleanUp().size());
  Assert.assertEquals(0, node.getAppsToCleanup().size());
  Assert.assertEquals(1, hbrsp.getContainersToCleanup().size());
  Assert.assertEquals(completedContainerId, hbrsp.getContainersToCleanup().get(0));
  Assert.assertEquals(1, hbrsp.getApplicationsToCleanup().size());
  Assert.assertEquals(finishedAppId, hbrsp.getApplicationsToCleanup().get(0));
}
 
开发者ID:naver,项目名称:hadoop,代码行数:33,代码来源:TestRMNodeTransitions.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Monitor类代码示例发布时间:2022-05-21
下一篇:
Java NotifyListener类代码示例发布时间:2022-05-21
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap