上节中我们已经学习了HDFS的体系结构及其优缺点,本节我们将着重学习HDFS的几个主要流程。
客户端在NameNode上的文件与目录操作
创建文件目录
客户端命令:
hadoop fs -mkdir test
示意图如下:
当客户点通过命令行穿件文件目录时,实际上是调用HDFS的FileSystem实例,也就是DistributedFileSystem的mkdir方法时,DistributedFileSystem对象通过RPC调用NameNode节点上的远程方法mkdir(),让名字节点执行具体的创建子目录的操作:在NameNode的目录上数据结构的对应位置创建新的目录节点,同时将这个操作并持久化到编辑日志中,方法执行成功后返回true,结束这一操作过程。
在创建目录的整个过程中,客户端不需要和DataNode节点进行交互。但是一些复杂的操作,比如复制副本和删除HDFS上的文件时,都需要数据节点的配合执行这样的操作——但是不是理解和DataNode节点交互,这要通过主从节点之间的“心跳”来交互这些操作信息,然后由DataNode数据节点来具体执行这些操作。
接下来我们再看客户端是如何删除HDFS上的文件的,命令行删除命令:
hadoop fs -rm example.txt
整个删除流程如下:
1)、客户端调用HDFS的FileSystem实例,也就是DistributedFileSystem的delete()方法向NameNode发送数据的“删除”操作;
2)、DistributedFileSystem对象通过RPC调用DateNode节点上的delete(),它值标记操作要涉及的需要被删除的数据块,并将delete操作信息持久化到编辑日Edit log;
3)、当保存着这些数据块的DateNode节点向NameNode节点发送“心跳”,向DateNode节点报告自己当前的相关信息;
4)、在NameNode给DataNode的心跳回答中,NameNode节点会通过DatanodeCommand命令NameNode节点删除相应的数据。
在整个删除过程中,DateNode不会主动联系保存这些要被删除的数据块所在的DataNode节点,立即删除这些数据,而是在删除操作完成一段时间之后,才会被真的删除。
NameNode节点和DateNode节点之间永远为此着简单的主从关系,NameNode名字节点不会向DateNode数据发送任何RPC调用请求,DateNode节点需要配合NameNode节点执行的所有操作,都是通过DateNode节点心跳应答中携带的DatanodeCommand命令返回。
- 大小: 44.4 KB
- 大小: 47.4 KB
分享到:
相关推荐
**HDFS metadata**:HDFSmetadata以树状结构存储整个HDFS上的文件和目录,以及相应的权限、配额和副本因子(replication factor)等信息。HDFSmetadata主要存储两种类型的文件: - **simage**:记录某一永久性检查点...
HDFS 中 NameNode 节点的配置、备份和恢复 HDFS(Hadoop Distributed File System)是 Hadoop 生态系统中的分布式文件系统,它提供了高效、可靠、可扩展的文件存储解决方案。 NameNode 是 HDFS 集群中的中心服务器...
《Hadoop技术内幕:深入解析HADOOP COMMON和HDFS架构设计与实现原理》这本书是IT领域的经典之作,专门探讨了Hadoop的核心组件——Hadoop Common和HDFS(Hadoop Distributed File System)的设计理念、架构及其背后的...
本篇将深入探讨Hadoop平台上的HDFS,以及如何在该平台上进行文件操作。 一、Hadoop平台基础 Hadoop是基于Java开发的,它主要由两个关键部分组成:HDFS和MapReduce。HDFS为大数据提供高容错性的分布式存储,而...
在这个“HDFS实例基本操作”中,我们将深入探讨如何在已经安装好的HDFS环境中执行基本操作,包括文件上传、下载以及创建文件夹。 一、HDFS的基本架构 HDFS基于主从结构,主要由NameNode和DataNode组成。NameNode...
大数据开发中,HDFS(Hadoop Distributed File System)作为分布式文件系统,提供了稳固的底层存储支持。HDFS的各个节点之间的通信机制是大数据开发的关键所在。本文将主要讲解HDFS数据节点与名称节点之间的通信机制...
HDFS(Hadoop Distributed File System)是一种分布式文件系统,旨在存储和管理大规模数据。HDFS体系结构主要由两部分组成:NameNode和DataNode。 NameNode NameNode是HDFS的中心节点,负责管理文件系统的命名空间...
本节课程主要介绍 HDFS 的概念、HDFS 存储架构和数据读写流程、HDFS 的 Shell 命令、Java 程序操作 HDFS、Hadoop 序列化、Hadoop 小文件处理、通信机制 RPC 等知识点。 HDFS 概念 HDFS(Hadoop Distributed File ...
通过阅读《HDFS——Hadoop分布式文件系统深度实践》,读者不仅可以掌握HDFS的基本操作,还能深入了解其内部机制,从而更好地利用HDFS来构建和管理自己的大数据存储系统。书中的实例和实践指导对于提升Hadoop开发者和...
2. 小文件存储:HDFS不适合小文件存储,小文件会占用NameNode大量的内存来存储文件、目录和块信息。 3. 并发写入、文件随机修改:HDFS不支持并发写入和文件随机修改,仅支持数据追加。 HDFS在Hadoop生态系统中的...
NameNode作为HDFS的中心管理节点,负责文件系统的命名空间管理和数据块映射信息的存储。它维护着文件系统的目录树,以及文件的元数据,如文件的所有者、权限等。 2.5、DataNode的角色 DataNode是实际存储数据的...
《Hadoop技术内幕:深入解析HADOOP COMMON和HDFS架构设计与实现原理》这本书是Hadoop技术领域的一本深入解析之作,它详尽地探讨了Hadoop的两大核心组件——HADOOP COMMON和HDFS(Hadoop Distributed File System)的...
其主要功能就是周期性将元数据节点的命名空间镜像文件和修改日志合并,以防日志文件过大。 元数据节点文件夹结构 元数据节点文件夹结构 gồm VERSION 文件、命名空间镜像文件(fsimage)和修改日志(edit log)。...
本高级教程将深入剖析HDFS的内部机制,帮助读者掌握其核心概念和实际操作技巧。 1. Hadoop概述:Hadoop是一个开源框架,主要用于处理和存储大量数据。它支持在分布式集群上运行应用程序,具有高可靠性、高扩展性和...
### Hadoop学习总结之二:深入理解HDFS读写过程 #### 一、HDFS文件读取流程详解 Hadoop的分布式文件系统(HDFS)是大数据存储与处理的重要基石,其读写机制的设计旨在优化大规模数据集的访问效率与容错性。本文将...
### Hadoop分布式文件系统HDFS深入教程 #### HDFS概述 Hadoop分布式文件系统(Hadoop Distributed File System, HDFS)作为Hadoop项目的核心组成部分之一,专为在大规模集群环境中高效存储与处理海量数据而设计。...
HDFS架构中有两种主要类型的节点:NameNode和DataNode。其中: - **NameNode**:负责管理文件系统的命名空间,即文件系统的元数据(如文件和目录的名称、权限等信息),以及文件块到具体DataNode的映射关系。 - **...
HDFS设计的目标是处理海量数据,其架构基于两个核心节点:Namenode和Datanode,这两者共同构成了HDFS的核心运作机制。 Namenode,作为HDFS的管理者,负责维护整个文件系统的命名空间,即文件系统树以及其中的所有...
在Hadoop分布式文件系统(HDFS)中,文件的读写操作是整个系统的核心功能。本文将详细解析HDFS的读取和写入过程,基于标题"《Hadoop学习总结之二:HDFS读写过程解析》"和描述中提到的代码分析。 1. **文件的打开** ...