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


Java BlockPlacementStatus类代码示例

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


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

示例1: BlurBlockPlacementStatusDefault

import org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementStatus; //导入依赖的package包/类
public BlurBlockPlacementStatusDefault(BlockPlacementStatus original, String shardServer) {
  _original = original;
  _shardServer = shardServer;
  if (_original != null) {
    _origPlacementPolicySatisfied = _original.isPlacementPolicySatisfied();
  } else {
    _origPlacementPolicySatisfied = true;
  }
}
 
开发者ID:apache,项目名称:incubator-blur,代码行数:10,代码来源:BlurBlockPlacementStatusDefault.java

示例2: runBalancerAndVerifyBlockPlacmentPolicy

import org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementStatus; //导入依赖的package包/类
private void runBalancerAndVerifyBlockPlacmentPolicy(Configuration conf,
    long[] capacities, String[] hosts, String[] racks, String[] UDs,
    long newCapacity, String newHost, String newRack, String newUD)
        throws Exception {
  int numOfDatanodes = capacities.length;

  cluster = new MiniDFSCluster.Builder(conf).numDataNodes(capacities.length)
      .hosts(hosts).racks(racks).simulatedCapacities(capacities).build();
  DatanodeManager dm = cluster.getNamesystem().getBlockManager().
      getDatanodeManager();
  if (UDs != null) {
    for(int i = 0; i < UDs.length; i++) {
      DatanodeID datanodeId = cluster.getDataNodes().get(i).getDatanodeId();
      dm.getDatanode(datanodeId).setUpgradeDomain(UDs[i]);
    }
  }

  try {
    cluster.waitActive();
    client = NameNodeProxies.createProxy(conf,
        cluster.getFileSystem(0).getUri(), ClientProtocol.class).getProxy();

    // fill up the cluster to be 80% full
    long totalCapacity = sum(capacities);
    long totalUsedSpace = totalCapacity * 8 / 10;

    final long fileSize = totalUsedSpace / numOfDatanodes;
    DFSTestUtil.createFile(cluster.getFileSystem(0), filePath, false, 1024,
        fileSize, DEFAULT_BLOCK_SIZE, (short) numOfDatanodes, 0, false);

    // start up an empty node with the same capacity on the same rack as the
    // pinned host.
    cluster.startDataNodes(conf, 1, true, null, new String[] { newRack },
        new String[] { newHost }, new long[] { newCapacity });
    if (newUD != null) {
      DatanodeID newId = cluster.getDataNodes().get(
          numOfDatanodes).getDatanodeId();
      dm.getDatanode(newId).setUpgradeDomain(newUD);
    }
    totalCapacity += newCapacity;

    // run balancer and validate results
    waitForHeartBeat(totalUsedSpace, totalCapacity, client, cluster);

    // start rebalancing
    Collection<URI> namenodes = DFSUtil.getNsServiceRpcUris(conf);
    Balancer.run(namenodes, BalancerParameters.DEFAULT, conf);
    BlockPlacementPolicy placementPolicy =
        cluster.getNamesystem().getBlockManager().getBlockPlacementPolicy();
    List<LocatedBlock> locatedBlocks = client.
        getBlockLocations(fileName, 0, fileSize).getLocatedBlocks();
    for (LocatedBlock locatedBlock : locatedBlocks) {
      BlockPlacementStatus status = placementPolicy.verifyBlockPlacement(
          locatedBlock.getLocations(), numOfDatanodes);
      assertTrue(status.isPlacementPolicySatisfied());
    }
  } finally {
    cluster.shutdown();
  }
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:61,代码来源:TestBalancer.java


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