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


Java BlockLocalPathInfo类代码示例

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


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

示例1: LocalDatanodeInfo

import org.apache.hadoop.hdfs.protocol.BlockLocalPathInfo; //导入依赖的package包/类
LocalDatanodeInfo() {
  final int cacheSize = 10000;
  final float hashTableLoadFactor = 0.75f;
  int hashTableCapacity = (int) Math.ceil(cacheSize / hashTableLoadFactor) + 1;
  cache = Collections
      .synchronizedMap(new LinkedHashMap<ExtendedBlock, BlockLocalPathInfo>(
          hashTableCapacity, hashTableLoadFactor, true) {
        private static final long serialVersionUID = 1;

        @Override
        protected boolean removeEldestEntry(
            Map.Entry<ExtendedBlock, BlockLocalPathInfo> eldest) {
          return size() > cacheSize;
        }
      });
}
 
开发者ID:naver,项目名称:hadoop,代码行数:17,代码来源:BlockReaderLocalLegacy.java

示例2: getBlockLocalPathInfo

import org.apache.hadoop.hdfs.protocol.BlockLocalPathInfo; //导入依赖的package包/类
@Override // FsDatasetSpi
public BlockLocalPathInfo getBlockLocalPathInfo(ExtendedBlock block)
    throws IOException {
  synchronized(this) {
    final Replica replica = volumeMap.get(block.getBlockPoolId(),
        block.getBlockId());
    if (replica == null) {
      throw new ReplicaNotFoundException(block);
    }
    if (replica.getGenerationStamp() < block.getGenerationStamp()) {
      throw new IOException(
          "Replica generation stamp < block generation stamp, block="
          + block + ", replica=" + replica);
    } else if (replica.getGenerationStamp() > block.getGenerationStamp()) {
      block.setGenerationStamp(replica.getGenerationStamp());
    }
  }

  File datafile = getBlockFile(block);
  File metafile = FsDatasetUtil.getMetaFile(datafile, block.getGenerationStamp());
  BlockLocalPathInfo info = new BlockLocalPathInfo(block,
      datafile.getAbsolutePath(), metafile.getAbsolutePath());
  return info;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:25,代码来源:FsDatasetImpl.java

示例3: getBlockLocalPathInfo

import org.apache.hadoop.hdfs.protocol.BlockLocalPathInfo; //导入依赖的package包/类
@Override
public BlockLocalPathInfo getBlockLocalPathInfo(ExtendedBlock block,
    Token<BlockTokenIdentifier> token) throws IOException {
  checkBlockLocalPathAccess();
  checkBlockToken(block, token, BlockTokenSecretManager.AccessMode.READ);
  Preconditions.checkNotNull(data, "Storage not yet initialized");
  BlockLocalPathInfo info = data.getBlockLocalPathInfo(block);
  if (LOG.isDebugEnabled()) {
    if (info != null) {
      if (LOG.isTraceEnabled()) {
        LOG.trace("getBlockLocalPathInfo successful block=" + block
            + " blockfile " + info.getBlockPath() + " metafile "
            + info.getMetaPath());
      }
    } else {
      if (LOG.isTraceEnabled()) {
        LOG.trace("getBlockLocalPathInfo for block=" + block
            + " returning null");
      }
    }
  }
  metrics.incrBlocksGetLocalPathInfo();
  return info;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:25,代码来源:DataNode.java

示例4: getBlockLocalPathInfo

import org.apache.hadoop.hdfs.protocol.BlockLocalPathInfo; //导入依赖的package包/类
@Override
public BlockLocalPathInfo getBlockLocalPathInfo(ExtendedBlock block,
    Token<BlockTokenIdentifier> token) throws IOException {
  GetBlockLocalPathInfoRequestProto req =
      GetBlockLocalPathInfoRequestProto.newBuilder()
      .setBlock(PBHelper.convert(block))
      .setToken(PBHelper.convert(token)).build();
  GetBlockLocalPathInfoResponseProto resp;
  try {
    resp = rpcProxy.getBlockLocalPathInfo(NULL_CONTROLLER, req);
  } catch (ServiceException e) {
    throw ProtobufHelper.getRemoteException(e);
  }
  return new BlockLocalPathInfo(PBHelper.convert(resp.getBlock()),
      resp.getLocalPath(), resp.getLocalMetaPath());
}
 
开发者ID:naver,项目名称:hadoop,代码行数:17,代码来源:ClientDatanodeProtocolTranslatorPB.java

示例5: LocalDatanodeInfo

import org.apache.hadoop.hdfs.protocol.BlockLocalPathInfo; //导入依赖的package包/类
LocalDatanodeInfo() {
  final int cacheSize = 10000;
  final float hashTableLoadFactor = 0.75f;
  int hashTableCapacity = (int) Math.ceil(cacheSize / hashTableLoadFactor)
      + 1;
  cache = Collections
      .synchronizedMap(new LinkedHashMap<ExtendedBlock, BlockLocalPathInfo>(
          hashTableCapacity, hashTableLoadFactor, true) {
        private static final long serialVersionUID = 1;

        @Override
        protected boolean removeEldestEntry(
            Map.Entry<ExtendedBlock, BlockLocalPathInfo> eldest) {
          return size() > cacheSize;
        }
      });
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:18,代码来源:BlockReaderLocalLegacy.java

示例6: getBlockLocalPathInfo

import org.apache.hadoop.hdfs.protocol.BlockLocalPathInfo; //导入依赖的package包/类
@Override
public BlockLocalPathInfo getBlockLocalPathInfo(ExtendedBlock block,
    Token<BlockTokenIdentifier> token) throws IOException {
  GetBlockLocalPathInfoRequestProto req =
      GetBlockLocalPathInfoRequestProto.newBuilder()
          .setBlock(PBHelperClient.convert(block))
          .setToken(PBHelperClient.convert(token)).build();
  GetBlockLocalPathInfoResponseProto resp;
  try {
    resp = rpcProxy.getBlockLocalPathInfo(NULL_CONTROLLER, req);
  } catch (ServiceException e) {
    throw ProtobufHelper.getRemoteException(e);
  }
  return new BlockLocalPathInfo(PBHelperClient.convert(resp.getBlock()),
      resp.getLocalPath(), resp.getLocalMetaPath());
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:17,代码来源:ClientDatanodeProtocolTranslatorPB.java

示例7: getBlockLocalPathInfo

import org.apache.hadoop.hdfs.protocol.BlockLocalPathInfo; //导入依赖的package包/类
@Override
public BlockLocalPathInfo getBlockLocalPathInfo(ExtendedBlock block,
    Token<BlockTokenIdentifier> token) throws IOException {
  checkBlockLocalPathAccess();
  checkBlockToken(block, token, BlockTokenIdentifier.AccessMode.READ);
  Preconditions.checkNotNull(data, "Storage not yet initialized");
  BlockLocalPathInfo info = data.getBlockLocalPathInfo(block);
  if (LOG.isDebugEnabled()) {
    if (info != null) {
      if (LOG.isTraceEnabled()) {
        LOG.trace("getBlockLocalPathInfo successful block=" + block
            + " blockfile " + info.getBlockPath() + " metafile "
            + info.getMetaPath());
      }
    } else {
      if (LOG.isTraceEnabled()) {
        LOG.trace("getBlockLocalPathInfo for block=" + block
            + " returning null");
      }
    }
  }
  metrics.incrBlocksGetLocalPathInfo();
  return info;
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:25,代码来源:DataNode.java

示例8: getBlockLocalPathInfo

import org.apache.hadoop.hdfs.protocol.BlockLocalPathInfo; //导入依赖的package包/类
@Override
public GetBlockLocalPathInfoResponseProto getBlockLocalPathInfo(
    RpcController unused, GetBlockLocalPathInfoRequestProto request)
    throws ServiceException {
  BlockLocalPathInfo resp;
  try {
    resp = impl.getBlockLocalPathInfo(
               PBHelperClient.convert(request.getBlock()),
               PBHelperClient.convert(request.getToken()));
  } catch (IOException e) {
    throw new ServiceException(e);
  }
  return GetBlockLocalPathInfoResponseProto.newBuilder()
      .setBlock(PBHelperClient.convert(resp.getBlock()))
      .setLocalPath(resp.getBlockPath()).setLocalMetaPath(resp.getMetaPath())
      .build();
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:18,代码来源:ClientDatanodeProtocolServerSideTranslatorPB.java

示例9: getBlockPathInfo

import org.apache.hadoop.hdfs.protocol.BlockLocalPathInfo; //导入依赖的package包/类
private static BlockLocalPathInfo getBlockPathInfo(UserGroupInformation ugi,
    ExtendedBlock blk, DatanodeInfo node, Configuration conf, int timeout,
    Token<BlockTokenIdentifier> token, boolean connectToDnViaHostname)
    throws IOException {
  LocalDatanodeInfo localDatanodeInfo = getLocalDatanodeInfo(node.getIpcPort());
  BlockLocalPathInfo pathinfo = null;
  ClientDatanodeProtocol proxy = localDatanodeInfo.getDatanodeProxy(ugi, node,
      conf, timeout, connectToDnViaHostname);
  try {
    // make RPC to local datanode to find local pathnames of blocks
    pathinfo = proxy.getBlockLocalPathInfo(blk, token);
    if (pathinfo != null) {
      if (LOG.isDebugEnabled()) {
        LOG.debug("Cached location of block " + blk + " as " + pathinfo);
      }
      localDatanodeInfo.setBlockLocalPathInfo(blk, pathinfo);
    }
  } catch (IOException e) {
    localDatanodeInfo.resetDatanodeProxy(); // Reset proxy on error
    throw e;
  }
  return pathinfo;
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:24,代码来源:BlockReaderLocalLegacy.java

示例10: getBlockLocalPathInfo

import org.apache.hadoop.hdfs.protocol.BlockLocalPathInfo; //导入依赖的package包/类
@Override
public BlockLocalPathInfo getBlockLocalPathInfo(ExtendedBlock block,
    Token<BlockTokenIdentifier> token) throws IOException {
  checkBlockLocalPathAccess();
  checkBlockToken(block, token, BlockTokenSecretManager.AccessMode.READ);
  BlockLocalPathInfo info = data.getBlockLocalPathInfo(block);
  if (LOG.isDebugEnabled()) {
    if (info != null) {
      if (LOG.isTraceEnabled()) {
        LOG.trace("getBlockLocalPathInfo successful block=" + block
            + " blockfile " + info.getBlockPath() + " metafile "
            + info.getMetaPath());
      }
    } else {
      if (LOG.isTraceEnabled()) {
        LOG.trace("getBlockLocalPathInfo for block=" + block
            + " returning null");
      }
    }
  }
  metrics.incrBlocksGetLocalPathInfo();
  return info;
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:24,代码来源:DataNode.java

示例11: LocalDatanodeInfo

import org.apache.hadoop.hdfs.protocol.BlockLocalPathInfo; //导入依赖的package包/类
LocalDatanodeInfo() {
  final int cacheSize = 10000;
  final float hashTableLoadFactor = 0.75f;
  int hashTableCapacity =
      (int) Math.ceil(cacheSize / hashTableLoadFactor) + 1;
  cache = Collections.synchronizedMap(
      new LinkedHashMap<ExtendedBlock, BlockLocalPathInfo>(
          hashTableCapacity, hashTableLoadFactor, true) {
        private static final long serialVersionUID = 1;

        @Override
        protected boolean removeEldestEntry(
            Map.Entry<ExtendedBlock, BlockLocalPathInfo> eldest) {
          return size() > cacheSize;
        }
      });
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:18,代码来源:BlockReaderLocal.java

示例12: getBlockPathInfo

import org.apache.hadoop.hdfs.protocol.BlockLocalPathInfo; //导入依赖的package包/类
private static BlockLocalPathInfo getBlockPathInfo(ExtendedBlock blk,
    DatanodeInfo node, Configuration conf, int timeout,
    Token<BlockTokenIdentifier> token, boolean connectToDnViaHostname)
    throws IOException {
  LocalDatanodeInfo localDatanodeInfo =
      getLocalDatanodeInfo(node.getIpcPort());
  BlockLocalPathInfo pathinfo = null;
  ClientDatanodeProtocol proxy = localDatanodeInfo
      .getDatanodeProxy(node, conf, timeout, connectToDnViaHostname);
  try {
    // make RPC to local datanode to find local pathnames of blocks
    pathinfo = proxy.getBlockLocalPathInfo(blk, token);
    if (pathinfo != null) {
      if (LOG.isDebugEnabled()) {
        LOG.debug("Cached location of block " + blk + " as " + pathinfo);
      }
      localDatanodeInfo.setBlockLocalPathInfo(blk, pathinfo);
    }
  } catch (IOException e) {
    localDatanodeInfo.resetDatanodeProxy(); // Reset proxy on error
    throw e;
  }
  return pathinfo;
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:25,代码来源:BlockReaderLocal.java

示例13: getBlockLocalPathInfo

import org.apache.hadoop.hdfs.protocol.BlockLocalPathInfo; //导入依赖的package包/类
@Override
public BlockLocalPathInfo getBlockLocalPathInfo(ExtendedBlock block,
    Token<BlockTokenIdentifier> token) throws IOException {
  checkBlockLocalPathAccess();
  checkBlockToken(block, token, BlockTokenSecretManager.AccessMode.READ);
  BlockLocalPathInfo info = data.getBlockLocalPathInfo(block);
  if (LOG.isDebugEnabled()) {
    if (info != null) {
      if (LOG.isTraceEnabled()) {
        LOG.trace("getBlockLocalPathInfo successful block=" + block +
            " blockfile " + info.getBlockPath() + " metafile " +
            info.getMetaPath());
      }
    } else {
      if (LOG.isTraceEnabled()) {
        LOG.trace(
            "getBlockLocalPathInfo for block=" + block + " returning null");
      }
    }
  }
  metrics.incrBlocksGetLocalPathInfo();
  return info;
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:24,代码来源:DataNode.java

示例14: getBlockLocalPathInfo

import org.apache.hadoop.hdfs.protocol.BlockLocalPathInfo; //导入依赖的package包/类
@Override
public BlockLocalPathInfo getBlockLocalPathInfo(ExtendedBlock block,
    Token<BlockTokenIdentifier> token) throws IOException {
  GetBlockLocalPathInfoRequestProto req =
      GetBlockLocalPathInfoRequestProto.newBuilder()
          .setBlock(PBHelper.convert(block)).setToken(PBHelper.convert(token))
          .build();
  GetBlockLocalPathInfoResponseProto resp;
  try {
    resp = rpcProxy.getBlockLocalPathInfo(NULL_CONTROLLER, req);
  } catch (ServiceException e) {
    throw ProtobufHelper.getRemoteException(e);
  }
  return new BlockLocalPathInfo(PBHelper.convert(resp.getBlock()),
      resp.getLocalPath(), resp.getLocalMetaPath());
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:17,代码来源:ClientDatanodeProtocolTranslatorPB.java

示例15: getBlockLocalPathInfo

import org.apache.hadoop.hdfs.protocol.BlockLocalPathInfo; //导入依赖的package包/类
@Override
public GetBlockLocalPathInfoResponseProto getBlockLocalPathInfo(
    RpcController unused, GetBlockLocalPathInfoRequestProto request)
    throws ServiceException {
  BlockLocalPathInfo resp;
  try {
    resp = impl.getBlockLocalPathInfo(PBHelper.convert(request.getBlock()),
        PBHelper.convert(request.getToken()));
  } catch (IOException e) {
    throw new ServiceException(e);
  }
  return GetBlockLocalPathInfoResponseProto.newBuilder()
      .setBlock(PBHelper.convert(resp.getBlock()))
      .setLocalPath(resp.getBlockPath()).setLocalMetaPath(resp.getMetaPath())
      .build();
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:17,代码来源:ClientDatanodeProtocolServerSideTranslatorPB.java


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