本文整理汇总了Java中org.apache.hadoop.hdfs.protocol.ClientDatanodeProtocol.getBlockPathInfo方法的典型用法代码示例。如果您正苦于以下问题:Java ClientDatanodeProtocol.getBlockPathInfo方法的具体用法?Java ClientDatanodeProtocol.getBlockPathInfo怎么用?Java ClientDatanodeProtocol.getBlockPathInfo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.hadoop.hdfs.protocol.ClientDatanodeProtocol
的用法示例。
在下文中一共展示了ClientDatanodeProtocol.getBlockPathInfo方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getBlockPathInfo
import org.apache.hadoop.hdfs.protocol.ClientDatanodeProtocol; //导入方法依赖的package包/类
public ThdfsBlockPath getBlockPathInfo(TDatanodeID datanode,
ThdfsNamespaceId namespaceId,
ThdfsBlock block)
throws ThriftIOException, TException {
Block blk = new Block(block.blockId, block.numBytes,
block.generationStamp);
// make RPC to datanode to find local pathnames of blocks
try {
ClientDatanodeProtocol remote = getOrCreate(datanode.name);
BlockPathInfo pathinfo = remote.getBlockPathInfo(namespaceId.id, blk);
return new ThdfsBlockPath(pathinfo.getBlockPath(),
pathinfo.getMetaPath());
} catch (IOException e) {
String msg = "Error getBlockPathInfo datanode " + datanode.name +
" namespaceid " + namespaceId.id +
" block " + blk;
LOG.warn(msg);
throw new ThriftIOException(msg);
}
}
示例2: getOrComputePathInfo
import org.apache.hadoop.hdfs.protocol.ClientDatanodeProtocol; //导入方法依赖的package包/类
public BlockPathInfo getOrComputePathInfo(
int namespaceid,
Block block,
DatanodeInfo node,
Configuration conf
) throws IOException {
InjectionHandler
.processEventIO(InjectionEvent.BLOCK_READ_LOCAL_GET_PATH_INFO);
LocalBlockKey blockKey = new LocalBlockKey(namespaceid, block);
BlockPathInfo pathinfo = cache.get(blockKey);
if (pathinfo != null) {
return pathinfo;
}
// make RPC to local datanode to find local pathnames of blocks
ClientDatanodeProtocol proxy = getDatanodeProxy(node, conf);
try {
if (namespaceIdSupported) {
pathinfo = proxy.getBlockPathInfo(namespaceid, block);
} else {
pathinfo = proxy.getBlockPathInfo(block);
}
if (pathinfo != null) {
if (LOG.isDebugEnabled()) {
LOG.debug("Cached location of block " + blockKey + " as " +
pathinfo);
}
setBlockLocalPathInfo(blockKey, pathinfo);
}
} catch (IOException ioe) {
datanode = null;
RPC.stopProxy(proxy);
throw ioe;
}
return pathinfo;
}