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


Java NodeHealthStatus.getIsNodeHealthy方法代码示例

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


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

示例1: transition

import org.apache.hadoop.yarn.server.api.records.NodeHealthStatus; //导入方法依赖的package包/类
@Override
public NodeState transition(RMNodeImpl rmNode, RMNodeEvent event) {
  RMNodeStatusEvent statusEvent = (RMNodeStatusEvent) event;

  // Switch the last heartbeatresponse.
  rmNode.latestNodeHeartBeatResponse = statusEvent.getLatestResponse();
  NodeHealthStatus remoteNodeHealthStatus = statusEvent.getNodeHealthStatus();
  rmNode.setHealthReport(remoteNodeHealthStatus.getHealthReport());
  rmNode.setLastHealthReportTime(
      remoteNodeHealthStatus.getLastHealthReportTime());
  if (remoteNodeHealthStatus.getIsNodeHealthy()) {
    rmNode.context.getDispatcher().getEventHandler().handle(
        new NodeAddedSchedulerEvent(rmNode));
    rmNode.context.getDispatcher().getEventHandler().handle(
            new NodesListManagerEvent(
                NodesListManagerEventType.NODE_USABLE, rmNode));
    // ??? how about updating metrics before notifying to ensure that
    // notifiers get update metadata because they will very likely query it
    // upon notification
    // Update metrics
    rmNode.updateMetricsForRejoinedNode(NodeState.UNHEALTHY);
    return NodeState.RUNNING;
  }

  return NodeState.UNHEALTHY;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:27,代码来源:RMNodeImpl.java

示例2: transition

import org.apache.hadoop.yarn.server.api.records.NodeHealthStatus; //导入方法依赖的package包/类
@Override
public NodeState transition(RMNodeImpl rmNode, RMNodeEvent event) {
  RMNodeStatusEvent statusEvent = (RMNodeStatusEvent)event;

  // Switch the last heartbeatresponse.
  rmNode.latestNodeHeartBeatResponse = statusEvent.getLatestResponse();
  NodeHealthStatus remoteNodeHealthStatus =
      statusEvent.getNodeHealthStatus();
  rmNode.setHealthReport(remoteNodeHealthStatus.getHealthReport());
  rmNode.setLastHealthReportTime(
      remoteNodeHealthStatus.getLastHealthReportTime());
  rmNode.setAggregatedContainersUtilization(
      statusEvent.getAggregatedContainersUtilization());
  rmNode.setNodeUtilization(statusEvent.getNodeUtilization());
  if (remoteNodeHealthStatus.getIsNodeHealthy()) {
    rmNode.context.getDispatcher().getEventHandler().handle(
        new NodeAddedSchedulerEvent(rmNode));
    rmNode.context.getDispatcher().getEventHandler().handle(
            new NodesListManagerEvent(
                NodesListManagerEventType.NODE_USABLE, rmNode));
    // ??? how about updating metrics before notifying to ensure that
    // notifiers get update metadata because they will very likely query it
    // upon notification
    // Update metrics
    rmNode.updateMetricsForRejoinedNode(NodeState.UNHEALTHY);
    return NodeState.RUNNING;
  }

  return NodeState.UNHEALTHY;
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:31,代码来源:RMNodeImpl.java

示例3: statusUpdateWhenUnHealthyTransitionInternal

import org.apache.hadoop.yarn.server.api.records.NodeHealthStatus; //导入方法依赖的package包/类
protected NodeState statusUpdateWhenUnHealthyTransitionInternal(
          RMNodeImpl rmNode, RMNodeEvent event) {
    RMNodeStatusEvent statusEvent = (RMNodeStatusEvent) event;

    // Switch the last heartbeatresponse.
    rmNode.latestNodeHeartBeatResponse = statusEvent.getLatestResponse();
    NodeHealthStatus remoteNodeHealthStatus = statusEvent.getNodeHealthStatus();
    rmNode.setHealthReport(remoteNodeHealthStatus.getHealthReport());
    rmNode.setLastHealthReportTime(
            remoteNodeHealthStatus.getLastHealthReportTime());
    rmNode.setAggregatedContainersUtilization(
          statusEvent.getAggregatedContainersUtilization());
    rmNode.setNodeUtilization(statusEvent.getNodeUtilization());
    if (remoteNodeHealthStatus.getIsNodeHealthy()) {
//      if (rmNode.context.isDistributed() && !rmNode.context.isLeader()) {
        //Add NodeAddedSchedulerEvent to TransactionState
        LOG.debug("HOP :: Added Pending event to TransactionState");
        toCommit.addPendingEvent(PendingEvent.Type.NODE_ADDED,
                PendingEvent.Status.NEW);

//      } else {
//        rmNode.context.getDispatcher().getEventHandler().handle(
//                new NodeAddedSchedulerEvent(rmNode));
if(rmNode.context.isLeader()){
        rmNode.context.getDispatcher().getEventHandler().handle(
                new NodesListManagerEvent(
                        NodesListManagerEventType.NODE_USABLE, rmNode));
      }
      // ??? how about updating metrics before notifying to ensure that
      // notifiers get update metadata because they will very likely query it
      // upon notification
      // Update metrics
      rmNode.updateMetricsForRejoinedNode(NodeState.UNHEALTHY);
      return NodeState.RUNNING;
    }

    return NodeState.UNHEALTHY;
  }
 
开发者ID:hopshadoop,项目名称:hops,代码行数:39,代码来源:RMNodeImplDist.java

示例4: statusUpdateWhenUnHealthyTransitionInternal

import org.apache.hadoop.yarn.server.api.records.NodeHealthStatus; //导入方法依赖的package包/类
protected NodeState statusUpdateWhenUnHealthyTransitionInternal(
        RMNodeImpl rmNode, RMNodeEvent event) {
  RMNodeStatusEvent statusEvent = (RMNodeStatusEvent) event;

  // Switch the last heartbeatresponse.
  rmNode.latestNodeHeartBeatResponse = statusEvent.getLatestResponse();
  NodeHealthStatus remoteNodeHealthStatus = statusEvent.getNodeHealthStatus();
  rmNode.setHealthReport(remoteNodeHealthStatus.getHealthReport());
  rmNode.setLastHealthReportTime(
          remoteNodeHealthStatus.getLastHealthReportTime());
  rmNode.setAggregatedContainersUtilization(
        statusEvent.getAggregatedContainersUtilization());
  rmNode.setNodeUtilization(statusEvent.getNodeUtilization());
  if (remoteNodeHealthStatus.getIsNodeHealthy()) {
    rmNode.context.getDispatcher().getEventHandler().handle(
            new NodeAddedSchedulerEvent(rmNode));
    rmNode.context.getDispatcher().getEventHandler().handle(
            new NodesListManagerEvent(
                    NodesListManagerEventType.NODE_USABLE, rmNode));
    // ??? how about updating metrics before notifying to ensure that
    // notifiers get update metadata because they will very likely query it
    // upon notification
    // Update metrics
    rmNode.updateMetricsForRejoinedNode(NodeState.UNHEALTHY);
    return NodeState.RUNNING;
  }

  return NodeState.UNHEALTHY;
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:30,代码来源:RMNodeImplNotDist.java

示例5: transition

import org.apache.hadoop.yarn.server.api.records.NodeHealthStatus; //导入方法依赖的package包/类
@Override
public NodeState transition(RMNodeImpl rmNode, RMNodeEvent event) {
  RMNodeStatusEvent statusEvent = (RMNodeStatusEvent) event;

  // Switch the last heartbeatresponse.
  rmNode.latestNodeHeartBeatResponse = statusEvent.getLatestResponse();
  NodeHealthStatus remoteNodeHealthStatus = statusEvent.getNodeHealthStatus();
  rmNode.setHealthReport(remoteNodeHealthStatus.getHealthReport());
  rmNode.setLastHealthReportTime(
      remoteNodeHealthStatus.getLastHealthReportTime());
  //Add by ME
  NodeTrustStatus remoteNodeTrustStatus = statusEvent.getNodeTrustStatus();
  rmNode.setTrustReport(remoteNodeTrustStatus.getTrustReport());
  rmNode.setLastTrustReportTime(
      remoteNodeTrustStatus.getLastTrustReportTime());
  //Add by ME
  if(!remoteNodeHealthStatus.getIsNodeHealthy()){
	  return NodeState.UNHEALTHY; 
  }
  if (!remoteNodeTrustStatus.getIsNodeTrust()) {
	  rmNode.updateMetricsForDeactivatedNode(NodeState.UNHEALTHY, NodeState.UNTRUST);
	  return NodeState.UNTRUST;
  }
   {
    rmNode.context.getDispatcher().getEventHandler().handle(
        new NodeAddedSchedulerEvent(rmNode));
    rmNode.context.getDispatcher().getEventHandler().handle(
            new NodesListManagerEvent(
                NodesListManagerEventType.NODE_USABLE, rmNode));
    // ??? how about updating metrics before notifying to ensure that
    // notifiers get update metadata because they will very likely query it
    // upon notification
    // Update metrics
    rmNode.updateMetricsForRejoinedNode(NodeState.UNHEALTHY);
    return NodeState.RUNNING;
  }
}
 
开发者ID:chendave,项目名称:hadoop-TCP,代码行数:38,代码来源:RMNodeImpl.java

示例6: statusUpdateWhenHealthyTransitionInternal

import org.apache.hadoop.yarn.server.api.records.NodeHealthStatus; //导入方法依赖的package包/类
protected NodeState statusUpdateWhenHealthyTransitionInternal(
          RMNodeImpl rmNode, RMNodeEvent event) {
    RMNodeStatusEvent statusEvent = (RMNodeStatusEvent) event;

    // Switch the last heartbeatresponse.
    rmNode.latestNodeHeartBeatResponse = statusEvent.getLatestResponse();

    NodeHealthStatus remoteNodeHealthStatus = statusEvent.getNodeHealthStatus();
    rmNode.setHealthReport(remoteNodeHealthStatus.getHealthReport());
    rmNode.setLastHealthReportTime(
        remoteNodeHealthStatus.getLastHealthReportTime());

    rmNode.setAggregatedContainersUtilization(
        statusEvent.getAggregatedContainersUtilization());
    rmNode.setNodeUtilization(statusEvent.getNodeUtilization());
    NodeState initialState = rmNode.getState();
    boolean isNodeDecommissioning = initialState.equals(NodeState.DECOMMISSIONING);
    if (isNodeDecommissioning) {
      List<ApplicationId> keepAliveApps = statusEvent.getKeepAliveAppIds();
      if (rmNode.runningApplications.isEmpty() && (keepAliveApps == null || keepAliveApps.isEmpty())) {
        deactivateNode(rmNode, NodeState.DECOMMISSIONED);
        return NodeState.DECOMMISSIONED;
      }
    }

    if (!remoteNodeHealthStatus.getIsNodeHealthy()) {
      LOG.
          info("Node " + rmNode.nodeId + " reported UNHEALTHY with details: " + remoteNodeHealthStatus.getHealthReport());
      // if a node in decommissioning receives an unhealthy report,
      // it will stay in decommissioning.
      if (isNodeDecommissioning) {
        return NodeState.DECOMMISSIONING;
      } else {
        reportNodeUnusable(rmNode, NodeState.UNHEALTHY);
        return NodeState.UNHEALTHY;
      }
    }

    ((RMNodeImplDist) rmNode).handleContainerStatus(statusEvent.getContainers());
    rmNode.handleReportedIncreasedContainers(
        statusEvent.getNMReportedIncreasedContainers());

    List<LogAggregationReport> logAggregationReportsForApps = statusEvent.getLogAggregationReportsForApps();
    if (logAggregationReportsForApps != null
        && !logAggregationReportsForApps.isEmpty()) {
      rmNode.handleLogAggregationStatus(logAggregationReportsForApps);
    }

    if (rmNode.nextHeartBeat) {
      rmNode.nextHeartBeat = false;
      toCommit.addNextHeartBeat(rmNode.nextHeartBeat);
//      if (rmNode.context.isDistributed() && !rmNode.context.isLeader()) {
        //Add NodeUpdatedSchedulerEvent to TransactionState
        toCommit.addPendingEvent(PendingEvent.Type.NODE_UPDATED,
                PendingEvent.Status.SCHEDULER_FINISHED_PROCESSING);
//      } else {
//        rmNode.context.getDispatcher().getEventHandler().handle(
//                new NodeUpdateSchedulerEvent(rmNode));
//      }
    } else if (rmNode.context.isDistributed() 
//            && !rmNode.context.isLeader()
            ) {

      toCommit.addPendingEvent(PendingEvent.Type.NODE_UPDATED,
          PendingEvent.Status.SCHEDULER_NOT_FINISHED_PROCESSING);
    }

    // Update DTRenewer in secure mode to keep these apps alive. Today this is
    // needed for log-aggregation to finish long after the apps are gone.
    if (UserGroupInformation.isSecurityEnabled()) {
      rmNode.context.getDelegationTokenRenewer().updateKeepAliveApplications(
          statusEvent.getKeepAliveAppIds());
    }

    toCommit.addRMNode(hostName, commandPort, httpPort, totalCapability,
        nodeManagerVersion, getState(), getHealthReport(),
        getLastHealthReportTime());
    return initialState;

  }
 
开发者ID:hopshadoop,项目名称:hops,代码行数:81,代码来源:RMNodeImplDist.java

示例7: statusUpdateWhenHealthyTransitionInternal

import org.apache.hadoop.yarn.server.api.records.NodeHealthStatus; //导入方法依赖的package包/类
protected NodeState statusUpdateWhenHealthyTransitionInternal(
        RMNodeImpl rmNode, RMNodeEvent event) {

  RMNodeStatusEvent statusEvent = (RMNodeStatusEvent) event;

  // Switch the last heartbeatresponse.
  rmNode.latestNodeHeartBeatResponse = statusEvent.getLatestResponse();

  NodeHealthStatus remoteNodeHealthStatus = statusEvent.getNodeHealthStatus();
  rmNode.setHealthReport(remoteNodeHealthStatus.getHealthReport());
  rmNode.setLastHealthReportTime(
      remoteNodeHealthStatus.getLastHealthReportTime());

  rmNode.setAggregatedContainersUtilization(
      statusEvent.getAggregatedContainersUtilization());
  rmNode.setNodeUtilization(statusEvent.getNodeUtilization());
  NodeState initialState = rmNode.getState();
  boolean isNodeDecommissioning = initialState.equals(NodeState.DECOMMISSIONING);
  if (isNodeDecommissioning) {
    List<ApplicationId> keepAliveApps = statusEvent.getKeepAliveAppIds();
    if (rmNode.runningApplications.isEmpty() && (keepAliveApps == null || keepAliveApps.isEmpty())) {
      deactivateNode(rmNode, NodeState.DECOMMISSIONED);
      return NodeState.DECOMMISSIONED;
    }
  }

  if (!remoteNodeHealthStatus.getIsNodeHealthy()) {
    LOG.
        info("Node " + rmNode.nodeId + " reported UNHEALTHY with details: " + remoteNodeHealthStatus.getHealthReport());
    // if a node in decommissioning receives an unhealthy report,
    // it will stay in decommissioning.
    if (isNodeDecommissioning) {
      return NodeState.DECOMMISSIONING;
    } else {
      reportNodeUnusable(rmNode, NodeState.UNHEALTHY);
      return NodeState.UNHEALTHY;
    }
  }

  ((RMNodeImplNotDist) rmNode).handleContainerStatus(statusEvent.getContainers());
  rmNode.handleReportedIncreasedContainers(
      statusEvent.getNMReportedIncreasedContainers());

  List<LogAggregationReport> logAggregationReportsForApps = statusEvent.getLogAggregationReportsForApps();
  if (logAggregationReportsForApps != null
      && !logAggregationReportsForApps.isEmpty()) {
    rmNode.handleLogAggregationStatus(logAggregationReportsForApps);
  }

  if (rmNode.nextHeartBeat) {
    rmNode.nextHeartBeat = false;
    rmNode.context.getDispatcher().getEventHandler().handle(
        new NodeUpdateSchedulerEvent(rmNode));
  }

  // Update DTRenewer in secure mode to keep these apps alive. Today this is
  // needed for log-aggregation to finish long after the apps are gone.
  if (UserGroupInformation.isSecurityEnabled()) {
    rmNode.context.getDelegationTokenRenewer().updateKeepAliveApplications(
        statusEvent.getKeepAliveAppIds());
  }

  return initialState;
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:65,代码来源:RMNodeImplNotDist.java


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