`

DatanodeDescriptor类图描述

阅读更多

本想画个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
分享到:
评论

相关推荐

    Hadoop源代码分析(三二)

    通过`datanodeMap`(一个存储`StorageID`到`DatanodeDescriptor`映射的数据结构),NameNode能够快速找到与当前注册请求相对应的`DatanodeDescriptor`。 - **步骤4:处理Storage变化** 如果发现DataNode的`...

    Hadoop源代码分析(三三)

    该命令主要通过`DatanodeDescriptor.getLeaseRecoveryCommand`获取,其作用是从`DatanodeDescriptor.recoverBlocks`队列中取出待恢复的数据块信息,并将其封装到`BlockCommand`中,设置`BlockCommand`的类型为`DNA_...

    Hadoop源代码分析(一九)

    转向`Datanode*`类,`DatanodeID`和`DatanodeInfo`在`org.apache.hadoop.hdfs.protocol`包中定义,而`DatanodeDescriptor`是`DatanodeInfo`的子类,增加了更多NameNode所需的状态信息。`DatanodeDescriptor`包含`...

    Hadoop源代码分析(二六)

    `Host2NodesMap` 的核心是一个 `HashMap, DatanodeDescriptor[]>`,其中键是主机名(字符串形式),值是 `DatanodeDescriptor` 数组。这一设计使得 Hadoop 能够快速查找并获取到某个主机上所有数据节点的信息。 `...

    Hadoop源代码分析(三四)

    - **加入**:如果`BlocksMap`中存在数据块,但在当前`DatanodeDescriptor`中未找到对应信息,则调用`addStoredBlock`方法来添加这些数据块。 - **使无效**:如果`BlocksMap`中找不到某个数据块,则将其标记为无效...

    源代码分析(一九).docx

    - `BlockTargetPair`和`BlockQueue`:`DatanodeDescriptor`的内部类,用于管理和追踪DataNode上Block的复制和Lease恢复操作。 6. **权限和安全**:HDFS支持基于用户和组的权限控制,类似于UNIX系统。每个`INode`都...

    高可用性的HDFS:Hadoop分布式文件系统深度实践

    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...

    hadoop分析

    维护HDFS文件系统中文件和目录的信息,分为内存元数据和元数据文件两种。NameNode维护整个元数据。...INode:文件的基本元素:文件和目录BlockInfo:文件内容对象DatanodeDescriptor:具体存储对象。3、FSImag

    hdfs源码.zip

    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 缓存概念...

Global site tag (gtag.js) - Google Analytics