|NO.Z.00016|——————————|BigDataEnd|——|Hadoop&HDFS.V01|——|Hadoop.v01|HDFS重要概念|
一、HDFS概念
### --- HDFS简介
~~~ HDFS (全称:Hadoop Distribute File System,Hadoop 分布式文件系统)
~~~ 是 Hadoop 核心组成,是分布式存储服务。
~~~ 分布式文件系统横跨多台计算机,在大数据时代有着广泛的应用前景,
~~~ 它们为存储和处理超大规模数据提供所需的扩展能力。
~~~ HDFS是分布式文件系统中的一种。
二、HDFS的重要概念
### --- HDFS重要概念
~~~ HDFS 通过统一的命名空间目录树来定位文件; 另外,它是分布式的,
~~~ 由很多服务器联合起来实现其功能,
~~~ 集群中的服务器有各自的角色(分布式本质是拆分,各司其职);
### --- 典型的 Master/Slave 架构
~~~ HDFS 的架构是典型的 Master/Slave 结构。
~~~ HDFS集群往往是一个NameNode(HA架构会有两个NameNode,联邦机制)+多个DataNode组成;
~~~ NameNode是集群的主节点,DataNode是集群的从节点。
### --- 分块存储(block机制)
~~~ HDFS 中的文件在物理上是分块存储(block)的,块的大小可以通过配置参数来规定;
~~~ Hadoop2.x版本中默认的block大小是128M;
### --- 命名空间(NameSpace)
~~~ HDFS 支持传统的层次型文件组织结构。用户或者应用程序可以创建目录,
~~~ 然后将文件保存在这些目录里。文件系统名字空间的层次结构和大多数现有的文件系统类似:
~~~ 用户可以创建、删除、移动或重命名文件。
~~~ Namenode 负责维护文件系统的名字空间,
~~~ 任何对文件系统名字空间或属性的修改都将被Namenode 记录下来。
~~~ HDFS提供给客户单一个抽象目录树,
~~~ 访问形式:hdfs://namenode的 hostname:port/test/inputhdfs://linux121:9000/test/input
### --- NameNode元数据管理
~~~ 我们把目录结构及文件分块位置信息叫做元数据。
~~~ NameNode的元数据记录每一个文件所对应的block信息(block的id,
~~~ 以及所在的DataNode节点的信息)
### --- DataNode数据存储
~~~ 文件的各个 block 的具体存储管理由 DataNode 节点承担。
~~~ 一个block会有多个DataNode来存储,DataNode会定时向NameNode来汇报自己持有的block信息。
### --- 副本机制
~~~ 为了容错,文件的所有 block 都会有副本。
~~~ 每个文件的 block 大小和副本系数都是可配置的。应用程序可以指定某个文件的副本数目。
~~~ 副本系数可以在文件创建的时候指定,也可以在之后改变。副本数量默认是3个。
### --- 一次写入,多次读出
~~~ HDFS 是设计成适应一次写入,多次读出的场景,且不支持文件的随机修改。
~~~ (支持追加写入,不只支持随机更新)
~~~ 正因为如此,HDFS 适合用来做大数据分析的底层存储服务,
~~~ 并不适合用来做网盘等应用(修改不方便,延迟大,网络开销大,成本太高)
三、HDFS架构

### --- NameNode(nn):Hdfs集群的管理者,Master
~~~ 维护管理Hdfs的名称空间(NameSpace)
~~~ 维护副本策略
~~~ 记录文件块(Block)的映射信息
~~~ 负责处理客户端读写请求
### --- DataNode:NameNode下达命令,DataNode执行实际操作,Slave节点。
~~~ 保存实际的数据块
~~~ 负责数据块的读写
### --- Client:客户端
~~~ 上传文件到HDFS的时候,Client负责将文件切分成Block,然后进行上传
~~~ 请求NameNode交互,获取文件的位置信息
~~~ 读取或写入文件,与DataNode交互
~~~ Client可以使用一些命令来管理HDFS或者访问HDFS

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY