本想画个UML里的标准类图的,可惜linux下的画图工具都不那么好使,然后装了xmind,发现用这个画也还可以,就是每次图的位置不好定。
这里涉及到的其他类将在单独的blog里分析,因为整个图实在太大了,我发现用xmind搞的美观而且还方便记忆。
光有图还不能说清他们的具体功能,故增加点文字描述信息
Node
/** The interface defines a node in a network topology.
* A node may be a leave representing a data node or an inner
* node representing a datacenter or rack.
* Each data has a name and its location in the network is
* decided by a string with syntax similar to a file name.
* For example, a data node's name is hostname:port# and if it's located at
* rack "orange" in datacenter "dog", the string representation of its
* network location is /dog/orange
*/
DatanodeID
/**
* DatanodeID is composed of the data node
* name (hostname:portNumber) and the data storage ID,
* which it currently represents.
*
*/
DatanodeInfo
/**
* DatanodeInfo represents the status of a DataNode.
* This object is used for communication in the
* Datanode Protocol and the Client Protocol.
*/
DatanodeDescriptor
/**************************************************
* DatanodeDescriptor tracks stats on a given DataNode,
* such as available storage capacity, last update time, etc.,
* and maintains a set of blocks stored on the datanode.
*
* This data structure is a data structure that is internal
* to the namenode. It is *not* sent over-the-wire to the Client
* or the Datnodes. Neither is it stored persistently in the
* fsImage.
**************************************************/
- 大小: 75.8 KB
分享到:
相关推荐
通过`datanodeMap`(一个存储`StorageID`到`DatanodeDescriptor`映射的数据结构),NameNode能够快速找到与当前注册请求相对应的`DatanodeDescriptor`。 - **步骤4:处理Storage变化** 如果发现DataNode的`...
该命令主要通过`DatanodeDescriptor.getLeaseRecoveryCommand`获取,其作用是从`DatanodeDescriptor.recoverBlocks`队列中取出待恢复的数据块信息,并将其封装到`BlockCommand`中,设置`BlockCommand`的类型为`DNA_...
转向`Datanode*`类,`DatanodeID`和`DatanodeInfo`在`org.apache.hadoop.hdfs.protocol`包中定义,而`DatanodeDescriptor`是`DatanodeInfo`的子类,增加了更多NameNode所需的状态信息。`DatanodeDescriptor`包含`...
`Host2NodesMap` 的核心是一个 `HashMap, DatanodeDescriptor[]>`,其中键是主机名(字符串形式),值是 `DatanodeDescriptor` 数组。这一设计使得 Hadoop 能够快速查找并获取到某个主机上所有数据节点的信息。 `...
- **加入**:如果`BlocksMap`中存在数据块,但在当前`DatanodeDescriptor`中未找到对应信息,则调用`addStoredBlock`方法来添加这些数据块。 - **使无效**:如果`BlocksMap`中找不到某个数据块,则将其标记为无效...
- `BlockTargetPair`和`BlockQueue`:`DatanodeDescriptor`的内部类,用于管理和追踪DataNode上Block的复制和Lease恢复操作。 6. **权限和安全**:HDFS支持基于用户和组的权限控制,类似于UNIX系统。每个`INode`都...
2.2.3 BlockInfo和DatanodeDescriptor 2.2.4 小结 2.2.5 代码分析——元数据结构 2.3 磁盘元数据文件 2.4 Format情景分析 2.5 元数据应用场景分析 第3章 Hadoop的元数据备份方案 3.1 运行机制分析 4 3.1.1 NameNode...
维护HDFS文件系统中文件和目录的信息,分为内存元数据和元数据文件两种。NameNode维护整个元数据。...INode:文件的基本元素:文件和目录BlockInfo:文件内容对象DatanodeDescriptor:具体存储对象。3、FSImag
3.3.1 DatanodeDescriptor 212 3.3.2 DatanodeStorageInfo 214 3.3.3 DatanodeManager 217 3.4 租约管理 233 3.4.1 LeaseManager.Lease 233 3.4.2 LeaseManager 234 3.5 缓存管理 246 3.5.1 缓存概念...