From d3f70b6f55aa64f9f19515bf64b7aafde37bd577 Mon Sep 17 00:00:00 2001 From: zeekling Date: Sun, 19 May 2024 22:39:33 +0800 Subject: [PATCH] =?UTF-8?q?NM=E5=8D=8F=E8=AE=AE=E8=AF=A6=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hdfs/NamenodeProtocols详解.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) 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