`

Hadoop-HDFS源码学习草记

 
阅读更多

2012-3-3:

 

HDFS

protocol:

Block 块定义,组成(blockId,numBytes,generationStamp),定义问块文件的文件命名为blk_{blockId},存储的最小单位。

BlockListAsLongs:每个Block块可以由3个long的数字表达,使用long[]存储Block[],主要用于datanode高效的上报给namenode

DatanodeID:标准dataNode,由name,storageID,infoPort(info服务端口),ipcPort(ipc服务端口)组成。ustorageID是hadoop集群唯一的。name由hostname:port组成。

DatanodeInfo:

DatanodeInfo represents the status of a DataNode. 

This object is used for communication in the Datanode Protocol and the Client Protocol

继承DatanodeID,实现Node,表示dataNode的统计信息,包括总容量,已用,剩余,名称,hostname,路径等信息

 

LocatedBlock:定义块的定位,包括block,在文件中的偏移量offset和存储的所有节点信息DatanodeInfo[]

LocatedBlocks:定义文件的块信息,包括文件大小,LocatedBlock集合和underConstruction(目前不晓得做什么,后面看看在说)等

 

 

namenode:

ClientProtocol:定义客户端与Namenode的HDFS相关的文件系统操作,因为Namenode只是提供元数据的操作,所有该接口提供了出去IO操作的主要文件系统操作定义。

同时实现VersionedProtocol表示通过ipc方式为客户端提供RPC服务。由NameNode(服务器端)和DistributeFileSystem(客户端)分别实现该接口

DatanodeProtocol:namenode与datanode间通讯的业务接口

NamenodeProtocol:定义secondary Namenode与Namenode间通讯的业务接口。

 

 

core-net包

Node: 接口,抽象定义网络拓扑中的一个节点,每个节点都定义name(名称),networkLocation(路径,如/datacenter1/rack1);也拥有Node的Parent引用

NodeBase: Node的基本实现,默认适配器模式。

 

 

分享到:
评论

相关推荐

    Hadoop-2.2.0源码包

    Hadoop-2.2.0源码包是一个关键资源,对于深入理解Hadoop框架的运行机制、...总之,Hadoop-2.2.0源码包是学习和开发Hadoop的宝贵资源,它揭示了分布式计算的复杂性和效率,有助于提升开发者在大数据处理领域的专业技能。

    hadoop-core-0.20.2 源码 hadoop-2.5.1-src.tar.gz 源码 hadoop 源码

    Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它的核心组件包括HDFS(Hadoop Distributed File System)和MapReduce。这两个部分是Hadoop的核心基石,为大数据处理提供了基础架构。这里我们将深入探讨...

    hadoop-2.7.7-dependence.zip

    Hadoop是Apache软件基金会开发的...同时,对于深入学习Hadoop的内部工作原理,如数据块的分布、数据复制策略、任务调度等,这些jar包的源码也是宝贵的参考资料。因此,这个压缩包对于Hadoop开发者来说具有很高的价值。

    hadoop-3.1.1-src.tar

    1. **HDFS源码**:HDFS的源码主要位于`hadoop-hdfs-project/hadoop-hdfs`模块中,包含了NameNode、DataNode和Client等组件。NameNode负责元数据管理,DataNode负责数据存储,源码分析可以帮助我们理解其工作原理,如...

    hadoop-2.10.0-src.tar.gz

    四、源码学习价值 阅读Hadoop 2.10.0的源码,可以帮助我们: 1. 理解Hadoop的内部工作机制,提升问题排查能力。 2. 学习分布式系统的设计与实现,为自定义扩展或开发其他分布式应用打下基础。 3. 掌握并行计算模型,...

    hadoop-3.1.3.tar.gz编译后的源码包

    当你解压hadoop-3.1.3.tar.gz后,你可以通过阅读源码来学习Hadoop如何实现分布式文件系统和计算。例如,你可以深入到HDFS的源码中,了解NameNode如何维护文件系统的元数据,DataNode如何存储和传输数据块,以及如何...

    hadoop-2.6.0.tar.gz&hadoop-2.6.0-cdh5.16.2.tar.gz

    Hadoop-2.6.0.tar.gz是Apache官方发布的Hadoop 2.6.0源码包,包含了Hadoop的核心组件,如HDFS(Hadoop Distributed File System)、YARN以及MapReduce。用户可以通过解压此文件,编译安装来搭建自己的Hadoop环境,...

    hadoop-3.1.3-src.tar.gz

    - **源码结构**:源代码中包含`hadoop-common`、`hadoop-hdfs`、`hadoop-mapreduce`等模块,分别对应Hadoop的基础功能、HDFS和MapReduce。 - **编译与构建**:使用Maven进行项目管理和构建,开发者可以通过修改pom...

    hadoop-src源代码

    三、HDFS源码解析 1. `hadoop-hdfs`:此模块是HDFS的实现,包括NameNode、DataNode和Client等组件。NameNode负责元数据管理,DataNode存储实际数据,Client则为应用程序提供接口。源码中可以深入了解HDFS的Block、 ...

    hadoop-2.7.6-src

    4. **HDFS源码解析** HDFS的核心在于NameNode和DataNode的交互。NameNode负责元数据管理,DataNode负责数据存储。源码中可以看到HDFS的文件块分布策略、副本机制、心跳检测和故障恢复等功能。 5. **MapReduce源码...

    hadoop-2.6.2.tar.gz

    通过深入学习这些源码,你可以掌握Hadoop的内部工作原理,进一步优化大数据处理流程,提升集群效率,或者针对特定场景开发自定义功能。此外,理解源码也有助于解决实际操作中遇到的问题,如性能瓶颈、数据丢失等。

    hadoop-3.4.0-src.tar.gz

    在源码学习过程中,理解Hadoop的配置体系也至关重要,如`hadoop-common-project/hadoop-common`模块中的配置文件,它们定义了Hadoop系统运行的各种参数,直接影响到系统性能和稳定性。 总的来说,通过对"Hadoop-...

    hadoop-3.0.1-src.tar.gz

    总的来说,"hadoop-3.0.1-src.tar.gz"提供的源码是探索Hadoop架构、学习大数据处理技术的宝贵资料。无论是想要优化现有Hadoop集群,还是希望开发新的大数据解决方案,深入理解Hadoop的源码都将带来无尽的启示和帮助...

    spring-data-hadoop-1.0.0源码包

    深入学习Spring Data Hadoop的源码,不仅可以帮助我们更好地理解和使用这个库,还能提升我们对Hadoop生态系统的理解。源码中的注释和设计模式将引导我们深入到Hadoop的内部工作原理,同时也会展示Spring如何通过其...

    hadoop-2.7.1.tar.gz

    `hadoop-2.7.1.tar.gz` 是一个包含了Hadoop 2.7.1版本源码或二进制文件的压缩包。这个版本在Hadoop的发展历程中是一个重要的里程碑,因为它引入了许多改进和新特性,旨在提升性能、稳定性和易用性。 1. **Hadoop...

    hadoop-2.6.4 源码

    学习Hadoop-2.6.4源码可以帮助开发者深入理解分布式系统的设计原则,提升在大数据处理和分析领域的专业能力。同时,对于想要贡献Hadoop项目的开发者来说,阅读和理解源码也是必不可少的步骤。`hadoop编译.docx`文档...

    hadoop-2.5.0-cdh5.3.6-src.tar.gz

    《Hadoop 2.5.0-cdh5.3.6 源码解析与应用探索》 Hadoop,作为大数据处理领域的核心组件,一直以来都备受关注。本篇将深入探讨Hadoop 2.5.0-cdh5.3.6版本的源码,解析其设计理念、架构以及主要功能,旨在帮助读者...

    hadoop-2.4.1版本大数据

    2. **下载Hadoop**:从Apache官网获取Hadoop 2.4.1的源码或二进制包。 3. **配置Hadoop**:修改`etc/hadoop`目录下的配置文件,如`hadoop-env.sh`、`core-site.xml`、`hdfs-site.xml`和`mapred-site.xml`,设置...

    hadoop-3.2.4.tar.gz

    - `src`: 源代码,如果你需要查看或修改Hadoop的源码,可以在此找到。 - `docs`: 文档,包括用户指南和技术文档。 - `LICENSE`: 许可证文件,说明了Hadoop的使用条款。 安装和运行Hadoop 3.2.4时,你需要解压此...

    hadoop源码分析-HDFS部分

    总之,深入研究Hadoop的HDFS源码是理解大数据处理平台工作原理的关键步骤,这不仅有助于提升运维效率,也为二次开发提供了强大的理论支持。无论是对HDFS的架构设计,还是对具体实现的细节,都能在源码中找到答案,...

Global site tag (gtag.js) - Google Analytics