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


Java NodeStatus.setContainersStatuses方法代码示例

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


在下文中一共展示了NodeStatus.setContainersStatuses方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getNodeStatus

import org.apache.hadoop.yarn.server.api.records.NodeStatus; //导入方法依赖的package包/类
private NodeStatus getNodeStatus() {
  NodeStatus status = recordFactory.newRecordInstance(NodeStatus.class);
  status.setContainersStatuses(new ArrayList<ContainerStatus>());
  status.setKeepAliveApplications(new ArrayList<ApplicationId>());

  status.setNodeHealthStatus(getNodeHealthStatus());
  status.setNodeId(getNodeId());
  status.setResponseId(1);
  return status;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:11,代码来源:TestYarnServerApiClasses.java

示例2: nodeHeartbeat

import org.apache.hadoop.yarn.server.api.records.NodeStatus; //导入方法依赖的package包/类
public NodeHeartbeatResponse nodeHeartbeat(Map<ApplicationId,
    List<ContainerStatus>> conts, boolean isHealthy, int resId) throws Exception {
  NodeHeartbeatRequest req = Records.newRecord(NodeHeartbeatRequest.class);
  NodeStatus status = Records.newRecord(NodeStatus.class);
  status.setResponseId(resId);
  status.setNodeId(nodeId);
  for (Map.Entry<ApplicationId, List<ContainerStatus>> entry : conts.entrySet()) {
    Log.info("entry.getValue() " + entry.getValue());
    status.setContainersStatuses(entry.getValue());
  }
  NodeHealthStatus healthStatus = Records.newRecord(NodeHealthStatus.class);
  healthStatus.setHealthReport("");
  healthStatus.setIsNodeHealthy(isHealthy);
  healthStatus.setLastHealthReportTime(1);
  status.setNodeHealthStatus(healthStatus);
  req.setNodeStatus(status);
  req.setLastKnownContainerTokenMasterKey(this.currentContainerTokenMasterKey);
  req.setLastKnownNMTokenMasterKey(this.currentNMTokenMasterKey);
  NodeHeartbeatResponse heartbeatResponse =
      resourceTracker.nodeHeartbeat(req);
  
  MasterKey masterKeyFromRM = heartbeatResponse.getContainerTokenMasterKey();
  if (masterKeyFromRM != null
      && masterKeyFromRM.getKeyId() != this.currentContainerTokenMasterKey
          .getKeyId()) {
    this.currentContainerTokenMasterKey = masterKeyFromRM;
  }

  masterKeyFromRM = heartbeatResponse.getNMTokenMasterKey();
  if (masterKeyFromRM != null
      && masterKeyFromRM.getKeyId() != this.currentNMTokenMasterKey
          .getKeyId()) {
    this.currentNMTokenMasterKey = masterKeyFromRM;
  }
  
  return heartbeatResponse;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:38,代码来源:MockNM.java

示例3: getNodeStatusObject

import org.apache.hadoop.yarn.server.api.records.NodeStatus; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
private NodeStatus getNodeStatusObject(NodeId nodeId) {
  NodeStatus status = Records.newRecord(NodeStatus.class);
  status.setNodeId(nodeId);
  status.setResponseId(0);
  status.setContainersStatuses(Collections.EMPTY_LIST);
  status.setKeepAliveApplications(Collections.EMPTY_LIST);
  return status;
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:10,代码来源:TestResourceTrackerService.java

示例4: nodeHeartbeat

import org.apache.hadoop.yarn.server.api.records.NodeStatus; //导入方法依赖的package包/类
public NodeHeartbeatResponse nodeHeartbeat(Map<ApplicationId,
    List<ContainerStatus>> conts, boolean isHealthy, int resId) throws Exception {
  NodeHeartbeatRequest req = Records.newRecord(NodeHeartbeatRequest.class);
  NodeStatus status = Records.newRecord(NodeStatus.class);
  status.setResponseId(resId);
  status.setNodeId(nodeId);
  for (Map.Entry<ApplicationId, List<ContainerStatus>> entry : conts.entrySet()) {
    status.setContainersStatuses(entry.getValue());
  }
  NodeHealthStatus healthStatus = Records.newRecord(NodeHealthStatus.class);
  healthStatus.setHealthReport("");
  healthStatus.setIsNodeHealthy(isHealthy);
  healthStatus.setLastHealthReportTime(1);
  status.setNodeHealthStatus(healthStatus);
  req.setNodeStatus(status);
  req.setLastKnownContainerTokenMasterKey(this.currentContainerTokenMasterKey);
  req.setLastKnownNMTokenMasterKey(this.currentNMTokenMasterKey);
  NodeHeartbeatResponse heartbeatResponse =
      resourceTracker.nodeHeartbeat(req);
  
  MasterKey masterKeyFromRM = heartbeatResponse.getContainerTokenMasterKey();
  if (masterKeyFromRM != null
      && masterKeyFromRM.getKeyId() != this.currentContainerTokenMasterKey
          .getKeyId()) {
    this.currentContainerTokenMasterKey = masterKeyFromRM;
  }

  masterKeyFromRM = heartbeatResponse.getNMTokenMasterKey();
  if (masterKeyFromRM != null
      && masterKeyFromRM.getKeyId() != this.currentNMTokenMasterKey
          .getKeyId()) {
    this.currentNMTokenMasterKey = masterKeyFromRM;
  }
  
  return heartbeatResponse;
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:37,代码来源:MockNM.java

示例5: middleStep

import org.apache.hadoop.yarn.server.api.records.NodeStatus; //导入方法依赖的package包/类
@Override
public void middleStep() throws Exception {
  // we check the lifetime for each running containers
  ContainerSimulator cs = null;
  synchronized(completedContainerList) {
    while ((cs = containerQueue.poll()) != null) {
      runningContainers.remove(cs.getId());
      completedContainerList.add(cs.getId());
      LOG.debug(MessageFormat.format("Container {0} has completed",
              cs.getId()));
    }
  }
  
  // send heart beat
  NodeHeartbeatRequest beatRequest =
          Records.newRecord(NodeHeartbeatRequest.class);
  beatRequest.setLastKnownNMTokenMasterKey(masterKey);
  NodeStatus ns = Records.newRecord(NodeStatus.class);
  
  ns.setContainersStatuses(generateContainerStatusList());
  ns.setNodeId(node.getNodeID());
  ns.setKeepAliveApplications(new ArrayList<ApplicationId>());
  ns.setResponseId(RESPONSE_ID ++);
  ns.setNodeHealthStatus(NodeHealthStatus.newInstance(true, "", 0));
  beatRequest.setNodeStatus(ns);
  NodeHeartbeatResponse beatResponse =
      rm.getResourceTrackerService().nodeHeartbeat(beatRequest);
  if (! beatResponse.getContainersToCleanup().isEmpty()) {
    // remove from queue
    synchronized(releasedContainerList) {
      for (ContainerId containerId : beatResponse.getContainersToCleanup()){
        if (amContainerList.contains(containerId)) {
          // AM container (not killed?, only release)
          synchronized(amContainerList) {
            amContainerList.remove(containerId);
          }
          LOG.debug(MessageFormat.format("NodeManager {0} releases " +
              "an AM ({1}).", node.getNodeID(), containerId));
        } else {
          cs = runningContainers.remove(containerId);
          containerQueue.remove(cs);
          releasedContainerList.add(containerId);
          LOG.debug(MessageFormat.format("NodeManager {0} releases a " +
              "container ({1}).", node.getNodeID(), containerId));
        }
      }
    }
  }
  if (beatResponse.getNodeAction() == NodeAction.SHUTDOWN) {
    lastStep();
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:53,代码来源:NMSimulator.java

示例6: getNodeStatusAndUpdateContainersInContext

import org.apache.hadoop.yarn.server.api.records.NodeStatus; //导入方法依赖的package包/类
@Override
public NodeStatus getNodeStatusAndUpdateContainersInContext() {

  NodeStatus nodeStatus = recordFactory.newRecordInstance(NodeStatus.class);
  nodeStatus.setNodeId(this.nodeId);

  int numActiveContainers = 0;
  List<ContainerStatus> containersStatuses = new ArrayList<ContainerStatus>();
  for (Iterator<Entry<ContainerId, Container>> i =
      this.context.getContainers().entrySet().iterator(); i.hasNext();) {
    Entry<ContainerId, Container> e = i.next();
    ContainerId containerId = e.getKey();
    Container container = e.getValue();

    // Clone the container to send it to the RM
    org.apache.hadoop.yarn.api.records.ContainerStatus containerStatus = 
        container.cloneAndGetContainerStatus();
    containersStatuses.add(containerStatus);
    ++numActiveContainers;
    LOG.info("Sending out status for container: " + containerStatus);

    if (containerStatus.getState() == ContainerState.COMPLETE) {
      // Remove
      i.remove();

      LOG.info("Removed completed container " + containerId);
    }
  }
  nodeStatus.setContainersStatuses(containersStatuses);

  LOG.debug(this.nodeId + " sending out status for "
      + numActiveContainers + " containers");

  NodeHealthStatus nodeHealthStatus = this.context.getNodeHealthStatus();
  nodeHealthStatus.setHealthReport(healthChecker.getHealthReport());
  nodeHealthStatus.setIsNodeHealthy(healthChecker.isHealthy());
  nodeHealthStatus.setLastHealthReportTime(
      healthChecker.getLastHealthReportTime());
  if (LOG.isDebugEnabled()) {
    LOG.debug("Node's health-status : " + nodeHealthStatus.getIsNodeHealthy()
              + ", " + nodeHealthStatus.getHealthReport());
  }
  nodeStatus.setNodeHealthStatus(nodeHealthStatus);

  List<ApplicationId> keepAliveAppIds = createKeepAliveApplicationList();
  nodeStatus.setKeepAliveApplications(keepAliveAppIds);
  
  return nodeStatus;
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:50,代码来源:NodeStatusUpdaterImpl.java

示例7: nodeHeartbeat

import org.apache.hadoop.yarn.server.api.records.NodeStatus; //导入方法依赖的package包/类
public NodeHeartbeatResponse nodeHeartbeat(List<ContainerStatus> updatedStats,
    List<Container> increasedConts, boolean isHealthy, int resId)
        throws Exception {
  NodeHeartbeatRequest req = Records.newRecord(NodeHeartbeatRequest.class);
  NodeStatus status = Records.newRecord(NodeStatus.class);
  status.setResponseId(resId);
  status.setNodeId(nodeId);
  ArrayList<ContainerId> completedContainers = new ArrayList<ContainerId>();
  for (ContainerStatus stat : updatedStats) {
    if (stat.getState() == ContainerState.COMPLETE) {
      completedContainers.add(stat.getContainerId());
    }
    containerStats.put(stat.getContainerId(), stat);
  }
  status.setContainersStatuses(
      new ArrayList<ContainerStatus>(containerStats.values()));
  for (ContainerId cid : completedContainers) {
    containerStats.remove(cid);
  }
  status.setIncreasedContainers(increasedConts);
  NodeHealthStatus healthStatus = Records.newRecord(NodeHealthStatus.class);
  healthStatus.setHealthReport("");
  healthStatus.setIsNodeHealthy(isHealthy);
  healthStatus.setLastHealthReportTime(1);
  status.setNodeHealthStatus(healthStatus);
  req.setNodeStatus(status);
  req.setLastKnownContainerTokenMasterKey(this.currentContainerTokenMasterKey);
  req.setLastKnownNMTokenMasterKey(this.currentNMTokenMasterKey);
  NodeHeartbeatResponse heartbeatResponse =
      resourceTracker.nodeHeartbeat(req);
  
  MasterKey masterKeyFromRM = heartbeatResponse.getContainerTokenMasterKey();
  if (masterKeyFromRM != null
      && masterKeyFromRM.getKeyId() != this.currentContainerTokenMasterKey
          .getKeyId()) {
    this.currentContainerTokenMasterKey = masterKeyFromRM;
  }

  masterKeyFromRM = heartbeatResponse.getNMTokenMasterKey();
  if (masterKeyFromRM != null
      && masterKeyFromRM.getKeyId() != this.currentNMTokenMasterKey
          .getKeyId()) {
    this.currentNMTokenMasterKey = masterKeyFromRM;
  }

  Resource newResource = heartbeatResponse.getResource();
  if (newResource != null) {
    memory = newResource.getMemory();
    vCores = newResource.getVirtualCores();
  }

  return heartbeatResponse;
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:54,代码来源:MockNM.java

示例8: getNodeStatusAndUpdateContainersInContext

import org.apache.hadoop.yarn.server.api.records.NodeStatus; //导入方法依赖的package包/类
@Override
  public NodeStatus getNodeStatusAndUpdateContainersInContext() {

    NodeStatus nodeStatus = recordFactory.newRecordInstance(NodeStatus.class);
    nodeStatus.setNodeId(this.nodeId);

    int numActiveContainers = 0;
    List<ContainerStatus> containersStatuses = new ArrayList<ContainerStatus>();
    for (Iterator<Entry<ContainerId, Container>> i =
        this.context.getContainers().entrySet().iterator(); i.hasNext();) {
      Entry<ContainerId, Container> e = i.next();
      ContainerId containerId = e.getKey();
      Container container = e.getValue();

      // Clone the container to send it to the RM
      org.apache.hadoop.yarn.api.records.ContainerStatus containerStatus = 
          container.cloneAndGetContainerStatus();
      containersStatuses.add(containerStatus);
      ++numActiveContainers;
      LOG.info("Sending out status for container: " + containerStatus);

      if (containerStatus.getState() == ContainerState.COMPLETE) {
        // Remove
        i.remove();
        // Adding to finished containers cache. Cache will keep it around at
        // least for #durationToTrackStoppedContainers duration. In the
        // subsequent call to stop container it will get removed from cache.
        addStoppedContainersToCache(containerId);
        
        LOG.info("Removed completed container " + containerId);
      }
    }
    nodeStatus.setContainersStatuses(containersStatuses);

    LOG.debug(this.nodeId + " sending out status for "
        + numActiveContainers + " containers");

    NodeHealthStatus nodeHealthStatus = this.context.getNodeHealthStatus();
    nodeHealthStatus.setHealthReport(healthChecker.getHealthReport());
//Add by ME
    nodeHealthStatus.setIsNodeHealthy(healthChecker.isHealthy(nodeStatus.getNodeId().getHost()));
    nodeHealthStatus.setLastHealthReportTime(
        healthChecker.getLastHealthReportTime());
    if (LOG.isDebugEnabled()) {
      LOG.debug("Node's health-status : " + nodeHealthStatus.getIsNodeHealthy()
                + ", " + nodeHealthStatus.getHealthReport());
    }
    nodeStatus.setNodeHealthStatus(nodeHealthStatus);
    //Add by ME
    NodeTrustStatus nodeTrustStatus = this.context.getNodeTrustStatus();
    nodeTrustStatus.setTrustReport(trustChecker.getTrusthReport());
    nodeTrustStatus.setIsNodeTrust(trustChecker.isTrust(nodeStatus.getNodeId().getHost()));
    nodeTrustStatus.setLastTrustReportTime(
    		trustChecker.getLastTrustReportTime());
    if(LOG.isDebugEnabled()){
        LOG.debug("Node's trust-status : " + nodeTrustStatus.getIsNodeTrust()
                + ", " + nodeTrustStatus.getTrustReport());  	
    }
    nodeStatus.setNodeTrustStatus(nodeTrustStatus);

    List<ApplicationId> keepAliveAppIds = createKeepAliveApplicationList();
    nodeStatus.setKeepAliveApplications(keepAliveAppIds);
    
    return nodeStatus;
  }
 
开发者ID:chendave,项目名称:hadoop-TCP,代码行数:66,代码来源:NodeStatusUpdaterImpl.java

示例9: getNodeStatusAndUpdateContainersInContext

import org.apache.hadoop.yarn.server.api.records.NodeStatus; //导入方法依赖的package包/类
@Override
public NodeStatus getNodeStatusAndUpdateContainersInContext() {

  NodeStatus nodeStatus = recordFactory.newRecordInstance(NodeStatus.class);
  nodeStatus.setNodeId(this.nodeId);

  int numActiveContainers = 0;
  List<ContainerStatus> containersStatuses = new ArrayList<ContainerStatus>();
  for (Iterator<Entry<ContainerId, Container>> i =
      this.context.getContainers().entrySet().iterator(); i.hasNext();) {
    Entry<ContainerId, Container> e = i.next();
    ContainerId containerId = e.getKey();
    Container container = e.getValue();

    // Clone the container to send it to the RM
    org.apache.hadoop.yarn.api.records.ContainerStatus containerStatus = 
        container.cloneAndGetContainerStatus();
    containersStatuses.add(containerStatus);
    ++numActiveContainers;
    LOG.info("Sending out status for container: " + containerStatus);

    if (containerStatus.getState() == ContainerState.COMPLETE) {
      // Remove
      i.remove();
      // Adding to finished containers cache. Cache will keep it around at
      // least for #durationToTrackStoppedContainers duration. In the
      // subsequent call to stop container it will get removed from cache.
      addStoppedContainersToCache(containerId);
      
      LOG.info("Removed completed container " + containerId);
    }
  }
  nodeStatus.setContainersStatuses(containersStatuses);

  LOG.debug(this.nodeId + " sending out status for "
      + numActiveContainers + " containers");

  NodeHealthStatus nodeHealthStatus = this.context.getNodeHealthStatus();
  nodeHealthStatus.setHealthReport(healthChecker.getHealthReport());
  nodeHealthStatus.setIsNodeHealthy(healthChecker.isHealthy());
  nodeHealthStatus.setLastHealthReportTime(
      healthChecker.getLastHealthReportTime());
  if (LOG.isDebugEnabled()) {
    LOG.debug("Node's health-status : " + nodeHealthStatus.getIsNodeHealthy()
              + ", " + nodeHealthStatus.getHealthReport());
  }
  nodeStatus.setNodeHealthStatus(nodeHealthStatus);

  List<ApplicationId> keepAliveAppIds = createKeepAliveApplicationList();
  nodeStatus.setKeepAliveApplications(keepAliveAppIds);
  
  return nodeStatus;
}
 
开发者ID:huiyi-learning,项目名称:hardfs,代码行数:54,代码来源:NodeStatusUpdaterImpl.java


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