@InterfaceAudience.Public @InterfaceStability.Unstable public class InMemoryAliasMap extends Object implements org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMapProtocol, Configurable
Modifier and Type | Method and Description |
---|---|
void |
close() |
static void |
completeBootstrapTransfer(File aliasMap)
Extract the aliasmap archive to complete the bootstrap process.
|
static org.apache.hadoop.hdfs.protocol.Block |
fromBlockBytes(byte[] blockDbFormat) |
static org.apache.hadoop.hdfs.protocol.ProvidedStorageLocation |
fromProvidedStorageLocationBytes(byte[] providedStorageLocationDbFormat) |
String |
getBlockPoolId()
Get the associated block pool id.
|
Configuration |
getConf()
Return the configuration used by this object.
|
static InMemoryAliasMap |
init(Configuration conf,
String blockPoolID) |
org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMapProtocol.IterationResult |
list(Optional<org.apache.hadoop.hdfs.protocol.Block> marker)
List the next batch of
FileRegion s in the alias map starting from
the given marker . |
Optional<org.apache.hadoop.hdfs.protocol.ProvidedStorageLocation> |
read(org.apache.hadoop.hdfs.protocol.Block block)
Gets the
ProvidedStorageLocation associated with the
specified block. |
void |
setConf(Configuration conf)
Set the configuration to be used by this object.
|
static byte[] |
toProtoBufBytes(org.apache.hadoop.hdfs.protocol.Block block) |
static byte[] |
toProtoBufBytes(org.apache.hadoop.hdfs.protocol.ProvidedStorageLocation providedStorageLocation) |
static void |
transferForBootstrap(javax.servlet.http.HttpServletResponse response,
Configuration conf,
InMemoryAliasMap aliasMap)
Transfer this aliasmap for bootstrapping standby Namenodes.
|
void |
write(org.apache.hadoop.hdfs.protocol.Block block,
org.apache.hadoop.hdfs.protocol.ProvidedStorageLocation providedStorageLocation)
Stores the block and it's associated
ProvidedStorageLocation
in the alias map. |
public void setConf(Configuration conf)
Configurable
setConf
in interface Configurable
conf
- configuration to be usedpublic Configuration getConf()
Configurable
getConf
in interface Configurable
@Nonnull public static InMemoryAliasMap init(Configuration conf, String blockPoolID) throws IOException
IOException
public org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMapProtocol.IterationResult list(Optional<org.apache.hadoop.hdfs.protocol.Block> marker) throws IOException
org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMapProtocol
FileRegion
s in the alias map starting from
the given marker
. To retrieve all FileRegion
s stored in the
alias map, multiple calls to this function might be required.list
in interface org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMapProtocol
marker
- the next block to get fileregions from.InMemoryAliasMapProtocol.IterationResult
with a set of
FileRegions and the next marker.IOException
@Nonnull public Optional<org.apache.hadoop.hdfs.protocol.ProvidedStorageLocation> read(@Nonnull org.apache.hadoop.hdfs.protocol.Block block) throws IOException
org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMapProtocol
ProvidedStorageLocation
associated with the
specified block.read
in interface org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMapProtocol
block
- the block to lookupProvidedStorageLocation
.IOException
public void write(@Nonnull org.apache.hadoop.hdfs.protocol.Block block, @Nonnull org.apache.hadoop.hdfs.protocol.ProvidedStorageLocation providedStorageLocation) throws IOException
org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMapProtocol
ProvidedStorageLocation
in the alias map.write
in interface org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMapProtocol
IOException
public String getBlockPoolId()
org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMapProtocol
getBlockPoolId
in interface org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMapProtocol
public void close() throws IOException
IOException
@Nonnull public static org.apache.hadoop.hdfs.protocol.ProvidedStorageLocation fromProvidedStorageLocationBytes(@Nonnull byte[] providedStorageLocationDbFormat) throws org.apache.hadoop.thirdparty.protobuf.InvalidProtocolBufferException
org.apache.hadoop.thirdparty.protobuf.InvalidProtocolBufferException
@Nonnull public static org.apache.hadoop.hdfs.protocol.Block fromBlockBytes(@Nonnull byte[] blockDbFormat) throws org.apache.hadoop.thirdparty.protobuf.InvalidProtocolBufferException
org.apache.hadoop.thirdparty.protobuf.InvalidProtocolBufferException
public static byte[] toProtoBufBytes(@Nonnull org.apache.hadoop.hdfs.protocol.ProvidedStorageLocation providedStorageLocation) throws IOException
IOException
public static byte[] toProtoBufBytes(@Nonnull org.apache.hadoop.hdfs.protocol.Block block) throws IOException
IOException
public static void transferForBootstrap(javax.servlet.http.HttpServletResponse response, Configuration conf, InMemoryAliasMap aliasMap) throws IOException
response
- http response.conf
- configuration to use.aliasMap
- aliasmap to transfer.IOException
public static void completeBootstrapTransfer(File aliasMap) throws IOException
aliasMap
- location of the aliasmap.IOException
Copyright © 2021 Apache Software Foundation. All rights reserved.