diff --git a/hdfs/NamenodeProtocols详解.md b/hdfs/NamenodeProtocols详解.md index 851be69..00acc96 100644 --- a/hdfs/NamenodeProtocols详解.md +++ b/hdfs/NamenodeProtocols详解.md @@ -23,8 +23,27 @@ public interface NamenodeProtocols ### NamenodeProtocol 详解 +```java +BlocksWithLocations getBlocks(DatanodeInfo datanode, long size, long + minBlockSize) throws IOException; +``` 当前协议主要是备NameNode和主NameNode之间的通信协议。 +获取指定DataNode中的块信息。 +- size: 请求的块数量。 +- minBlockSize: 查询的block块需要小于当前值。 + +```java +public ExportedBlockKeys getBlockKeys() throws IOException; +``` +获取NameNode产生的所有的blockkey信息。blockKey是由BlockTokenSecretManager产生的,BlockTokenSecretManager有两种模式:master模式和worker模式。 +master主要产生token,并且将token导入给workers。master和worker都可以校验token。一般情况下,NN是master模式,DN是worker模式。主要用于加密。 + +```java +public long getTransactionID() throws IOException; +``` + +获取最新的事务ID。 ### DatanodeProtocol