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


Java DatanodeProtocol.FATAL_DISK_ERROR属性代码示例

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


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

示例1: errorReport

@Override // DatanodeProtocol
public void errorReport(DatanodeRegistration nodeReg,
                        int errorCode, String msg) throws IOException { 
  checkNNStartup();
  String dnName = 
     (nodeReg == null) ? "Unknown DataNode" : nodeReg.toString();

  if (errorCode == DatanodeProtocol.NOTIFY) {
    LOG.info("Error report from " + dnName + ": " + msg);
    return;
  }
  verifyRequest(nodeReg);

  if (errorCode == DatanodeProtocol.DISK_ERROR) {
    LOG.warn("Disk error on " + dnName + ": " + msg);
  } else if (errorCode == DatanodeProtocol.FATAL_DISK_ERROR) {
    LOG.warn("Fatal disk error on " + dnName + ": " + msg);
    namesystem.getBlockManager().getDatanodeManager().removeDatanode(nodeReg);            
  } else {
    LOG.info("Error report from " + dnName + ": " + msg);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:22,代码来源:NameNodeRpcServer.java

示例2: handleDiskError

private void handleDiskError(String errMsgr) {
  final boolean hasEnoughResources = data.hasEnoughResource();
  LOG.warn("DataNode.handleDiskError: Keep Running: " + hasEnoughResources);
  
  // If we have enough active valid volumes then we do not want to 
  // shutdown the DN completely.
  int dpError = hasEnoughResources ? DatanodeProtocol.DISK_ERROR  
                                   : DatanodeProtocol.FATAL_DISK_ERROR;  
  metrics.incrVolumeFailures();

  //inform NameNodes
  for(BPOfferService bpos: blockPoolManager.getAllNamenodeThreads()) {
    bpos.trySendErrorReport(dpError, errMsgr);
  }
  
  if(hasEnoughResources) {
    scheduleAllBlockReport(0);
    return; // do not shutdown
  }
  
  LOG.warn("DataNode is shutting down: " + errMsgr);
  shouldRun = false;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:23,代码来源:DataNode.java

示例3: errorReport

/**
 */
public void errorReport(DatanodeRegistration nodeReg,
                        int errorCode,
                        String msg) throws IOException {
  // Log error message from datanode
  String dnName = (nodeReg == null ? "unknown DataNode" : nodeReg.getName());
  LOG.info("Error report from " + dnName + ": " + msg);
  if (errorCode == DatanodeProtocol.NOTIFY) {
    return;
  }
  verifyRequest(nodeReg);
  if (errorCode == DatanodeProtocol.DISK_ERROR) {
    LOG.warn("Volume failed on " + dnName);
  } else if (errorCode == DatanodeProtocol.FATAL_DISK_ERROR) {
    namesystem.removeDatanode(nodeReg);
  }
}
 
开发者ID:rhli,项目名称:hadoop-EAR,代码行数:18,代码来源:NameNode.java

示例4: errorReport

@Override // DatanodeProtocol
public void errorReport(DatanodeRegistration nodeReg,
                        int errorCode, String msg) throws IOException { 
  String dnName = 
     (nodeReg == null) ? "Unknown DataNode" : nodeReg.toString();

  if (errorCode == DatanodeProtocol.NOTIFY) {
    LOG.info("Error report from " + dnName + ": " + msg);
    return;
  }
  verifyRequest(nodeReg);

  if (errorCode == DatanodeProtocol.DISK_ERROR) {
    LOG.warn("Disk error on " + dnName + ": " + msg);
  } else if (errorCode == DatanodeProtocol.FATAL_DISK_ERROR) {
    LOG.warn("Fatal disk error on " + dnName + ": " + msg);
    namesystem.getBlockManager().getDatanodeManager().removeDatanode(nodeReg);            
  } else {
    LOG.info("Error report from " + dnName + ": " + msg);
  }
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:21,代码来源:NameNodeRpcServer.java

示例5: errorReport

@Override // DatanodeProtocol
public void errorReport(DatanodeRegistration nodeReg, int errorCode,
    String msg) throws IOException {
  String dnName = (nodeReg == null) ? "Unknown DataNode" : nodeReg.toString();

  if (errorCode == DatanodeProtocol.NOTIFY) {
    LOG.info("Error report from " + dnName + ": " + msg);
    return;
  }
  verifyRequest(nodeReg);

  if (errorCode == DatanodeProtocol.DISK_ERROR) {
    LOG.warn("Disk error on " + dnName + ": " + msg);
  } else if (errorCode == DatanodeProtocol.FATAL_DISK_ERROR) {
    LOG.warn("Fatal disk error on " + dnName + ": " + msg);
    namesystem.getBlockManager().getDatanodeManager().removeDatanode(nodeReg);
  } else {
    LOG.info("Error report from " + dnName + ": " + msg);
  }
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:20,代码来源:NameNodeRpcServer.java

示例6: handleDiskError

private void handleDiskError(String errMsgr) {
  final boolean hasEnoughResources = data.hasEnoughResource();
  LOG.warn("DataNode.handleDiskError: Keep Running: " + hasEnoughResources);
  
  // If we have enough active valid volumes then we do not want to 
  // shutdown the DN completely.
  int dpError = hasEnoughResources ? DatanodeProtocol.DISK_ERROR :
      DatanodeProtocol.FATAL_DISK_ERROR;
  metrics.incrVolumeFailures();

  //inform NameNodes
  for (BPOfferService bpos : blockPoolManager.getAllNamenodeThreads()) {
    bpos.trySendErrorReport(dpError, errMsgr);
  }
  
  if (hasEnoughResources) {
    scheduleAllBlockReport(0);
    return; // do not shutdown
  }
  
  LOG.warn("DataNode is shutting down: " + errMsgr);
  shouldRun = false;
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:23,代码来源:DataNode.java

示例7: errorReport

/**
 */
public void errorReport(DatanodeRegistration nodeReg,
                        int errorCode, 
                        String msg) throws IOException {
  // Log error message from datanode
  String dnName = (nodeReg == null ? "unknown DataNode" : nodeReg.getName());
  LOG.info("Error report from " + dnName + ": " + msg);
  if (errorCode == DatanodeProtocol.NOTIFY) {
    return;
  }
  verifyRequest(nodeReg);
  if (errorCode == DatanodeProtocol.DISK_ERROR) {
    LOG.warn("Volume failed on " + dnName); 
  } else if (errorCode == DatanodeProtocol.FATAL_DISK_ERROR) {
    namesystem.removeDatanode(nodeReg);            
  }
}
 
开发者ID:Seagate,项目名称:hadoop-on-lustre,代码行数:18,代码来源:NameNode.java

示例8: handleDiskError

private void handleDiskError(String errMsgr) {
  boolean hasEnoughResource = data.hasEnoughResource();
  LOG.warn("DataNode.handleDiskError: Keep Running: " + hasEnoughResource);
  
  //if hasEnoughtResource = true - more volumes are available, so we don't want 
  // to shutdown DN completely and don't want NN to remove it.
  int dp_error = DatanodeProtocol.DISK_ERROR;
  if(hasEnoughResource == false) {
    // DN will be shutdown and NN should remove it
    dp_error = DatanodeProtocol.FATAL_DISK_ERROR;
  }

  //inform NameNode
  notifyNamenode(dp_error, errMsgr);
  
  if(hasEnoughResource) {
    scheduleBlockReport(0);
    return; // do not shutdown
  }
  
  LOG.warn("DataNode is shutting down.\n" + errMsgr);
  shouldRun = false; 
}
 
开发者ID:Seagate,项目名称:hadoop-on-lustre,代码行数:23,代码来源:DataNode.java

示例9: errorReport

/**
 * Handle an error report from a datanode.
 */
public void errorReport(DatanodeRegistration nodeReg,
                        int errorCode, String msg) throws IOException { 
  String dnName = (nodeReg == null ? "unknown DataNode" : nodeReg.getName());

  if (errorCode == DatanodeProtocol.NOTIFY) {
    LOG.info("Error report from " + dnName + ": " + msg);
    return;
  }
  verifyRequest(nodeReg);

  if (errorCode == DatanodeProtocol.DISK_ERROR) {
    LOG.warn("Disk error on " + dnName + ": " + msg);
  } else if (errorCode == DatanodeProtocol.FATAL_DISK_ERROR) {
    LOG.warn("Fatal disk error on " + dnName + ": " + msg);
    namesystem.removeDatanode(nodeReg);            
  } else {
    LOG.info("Error report from " + dnName + ": " + msg);
  }
}
 
开发者ID:cumulusyebl,项目名称:cumulus,代码行数:22,代码来源:NameNode.java

示例10: handleDiskError

private void handleDiskError(String errMsgr) {
  final boolean hasEnoughResources = data.hasEnoughResource();
  LOG.warn("DataNode.handleDiskError: Keep Running: " + hasEnoughResources);

  // If we have enough active valid volumes then we do not want to 
  // shutdown the DN completely.
  int dpError = hasEnoughResources ? DatanodeProtocol.DISK_ERROR  
                                   : DatanodeProtocol.FATAL_DISK_ERROR;  

  myMetrics.volumeFailures.inc(1);
  try {
    namenode.errorReport(dnRegistration, dpError, errMsgr);
  } catch (IOException e) {
    LOG.warn("Error reporting disk failure to NameNode: " + 
        StringUtils.stringifyException(e));
  }
  
  if (hasEnoughResources) {
    scheduleBlockReport(0);
    return; // do not shutdown
  }
  
  LOG.warn("DataNode is shutting down: " + errMsgr);
  shouldRun = false; 
}
 
开发者ID:cumulusyebl,项目名称:cumulus,代码行数:25,代码来源:DataNode.java

示例11: errorReport

/**
 */
public void errorReport(DatanodeRegistration nodeReg,
                        int errorCode,
                        String msg) throws IOException {
  // Log error message from datanode
  String dnName = (nodeReg == null ? "unknown DataNode" : nodeReg.getName());
  LOG.info("Error report from " + dnName + ": " + msg);
  if (errorCode == DatanodeProtocol.NOTIFY) {
    return;
  }
  verifyRequest(nodeReg);
  if (errorCode == DatanodeProtocol.DISK_ERROR) {
    LOG.warn("Volume failed on " + dnName); 
  } else if (errorCode == DatanodeProtocol.FATAL_DISK_ERROR) {
    namesystem.removeDatanode(nodeReg);            
  }
}
 
开发者ID:iVCE,项目名称:RDFS,代码行数:18,代码来源:NameNode.java

示例12: handleDiskError

private void handleDiskError(String errMsgr) throws IOException{
  boolean hasEnoughResource = data.hasEnoughResource();
  myMetrics.volumeFailures.inc();
  for(Integer namespaceId : namespaceManager.getAllNamespaces()){
    DatanodeProtocol nn = getNSNamenode(namespaceId);
    LOG.warn("DataNode.handleDiskError: Keep Running: " + hasEnoughResource);
    
    //if hasEnoughtResource = true - more volumes are available, so we don't want 
    // to shutdown DN completely and don't want NN to remove it.
    int dp_error = DatanodeProtocol.DISK_ERROR;
    if(hasEnoughResource == false) {
      // DN will be shutdown and NN should remove it
      dp_error = DatanodeProtocol.FATAL_DISK_ERROR;
    }
    //inform NameNode
    try {
      nn.errorReport(getDNRegistrationForNS(namespaceId), dp_error, errMsgr);
    } catch(IOException ignored) {              
    }
    
    
    if(hasEnoughResource) {
      for (NamespaceService nsos : namespaceManager.getAllNamenodeThreads()) {
        nsos.scheduleBlockReport(0);
      }
      return; // do not shutdown
    }
  }
  
  LOG.warn("DataNode is shutting down.\n" + errMsgr);
  shouldRun = false; 
}
 
开发者ID:rhli,项目名称:hadoop-EAR,代码行数:32,代码来源:DataNode.java


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