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


Java DatanodeDescriptor.getDfsUsedPercent方法代码示例

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


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

示例1: getNodeUsage

import org.apache.hadoop.hdfs.server.blockmanagement.DatanodeDescriptor; //导入方法依赖的package包/类
@Override // NameNodeMXBean
public String getNodeUsage() {
  float median = 0;
  float max = 0;
  float min = 0;
  float dev = 0;

  final Map<String, Map<String,Object>> info =
      new HashMap<String, Map<String,Object>>();
  final List<DatanodeDescriptor> live = new ArrayList<DatanodeDescriptor>();
  blockManager.getDatanodeManager().fetchDatanodes(live, null, true);

  if (live.size() > 0) {
    float totalDfsUsed = 0;
    float[] usages = new float[live.size()];
    int i = 0;
    for (DatanodeDescriptor dn : live) {
      usages[i++] = dn.getDfsUsedPercent();
      totalDfsUsed += dn.getDfsUsedPercent();
    }
    totalDfsUsed /= live.size();
    Arrays.sort(usages);
    median = usages[usages.length / 2];
    max = usages[usages.length - 1];
    min = usages[0];

    for (i = 0; i < usages.length; i++) {
      dev += (usages[i] - totalDfsUsed) * (usages[i] - totalDfsUsed);
    }
    dev = (float) Math.sqrt(dev / usages.length);
  }

  final Map<String, Object> innerInfo = new HashMap<String, Object>();
  innerInfo.put("min", StringUtils.format("%.2f%%", min));
  innerInfo.put("median", StringUtils.format("%.2f%%", median));
  innerInfo.put("max", StringUtils.format("%.2f%%", max));
  innerInfo.put("stdDev", StringUtils.format("%.2f%%", dev));
  info.put("nodeUsage", innerInfo);

  return JSON.toString(info);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:42,代码来源:FSNamesystem.java

示例2: getNodeUsage

import org.apache.hadoop.hdfs.server.blockmanagement.DatanodeDescriptor; //导入方法依赖的package包/类
@Override // NameNodeMXBean
public String getNodeUsage() {
  float median = 0;
  float max = 0;
  float min = 0;
  float dev = 0;

  final Map<String, Map<String,Object>> info =
      new HashMap<String, Map<String,Object>>();
  final List<DatanodeDescriptor> live = new ArrayList<DatanodeDescriptor>();
  blockManager.getDatanodeManager().fetchDatanodes(live, null, true);
  for (Iterator<DatanodeDescriptor> it = live.iterator(); it.hasNext();) {
    DatanodeDescriptor node = it.next();
    if (node.isDecommissionInProgress() || node.isDecommissioned()) {
      it.remove();
    }
  }

  if (live.size() > 0) {
    float totalDfsUsed = 0;
    float[] usages = new float[live.size()];
    int i = 0;
    for (DatanodeDescriptor dn : live) {
      usages[i++] = dn.getDfsUsedPercent();
      totalDfsUsed += dn.getDfsUsedPercent();
    }
    totalDfsUsed /= live.size();
    Arrays.sort(usages);
    median = usages[usages.length / 2];
    max = usages[usages.length - 1];
    min = usages[0];

    for (i = 0; i < usages.length; i++) {
      dev += (usages[i] - totalDfsUsed) * (usages[i] - totalDfsUsed);
    }
    dev = (float) Math.sqrt(dev / usages.length);
  }

  final Map<String, Object> innerInfo = new HashMap<String, Object>();
  innerInfo.put("min", StringUtils.format("%.2f%%", min));
  innerInfo.put("median", StringUtils.format("%.2f%%", median));
  innerInfo.put("max", StringUtils.format("%.2f%%", max));
  innerInfo.put("stdDev", StringUtils.format("%.2f%%", dev));
  info.put("nodeUsage", innerInfo);

  return JSON.toString(info);
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:48,代码来源:FSNamesystem.java


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