HDFS体系架构&文件写入/下载流程

HDFS体系架构

HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)是Hadoop项目中的一个核心组件,旨在以高容错、高吞吐量来处理大规模数据集。它的体系架构由以下几个主要部分组成:Client,NameNode,DataNode,SecondaryNameNode

1.Client:客户端

1.文件切分
2.与NameNode交互,获取文件元数据信息
3.与DataNode交互,读取或写入数据
4.与HDFS进行交互

2.NameNode:Master(管理者)

1.管理HDFS的元数据空间
2.管理block块的映射信息
3.接受DataNode心跳,管理DataNode信息
4.处理客户端的读写请求

3.DataNode:Slave(NN下达命令执行实际的操作)

1. 存储实际的数据块
2.执行数据块的读写操作
3.向NameNode发送心跳,以及block块汇报

4.Secondary NameNode

1.并非NameNode的热备份,当NameNode停止服务的时候不能马上代替NameNode
2.辅助NameNode,分担工作量
3.定期合并fsimage和editslog,推送给NameNode
4.紧急情况下可以辅助恢复namenode

HDFS写入/下载流程

客户端 请求 NameNode 创建一个新文件。

NameNode 检查文件是否已存在,并验证客户端权限。

NameNode 创建一个新文件条目,返回给客户端数据块的位置信息(即哪些 DataNode 将存储数据块的副本)。

客户端 按顺序将数据块写入到指定的 DataNode。

DataNode 将数据块复制到其他 DataNode 以确保副本数量。

DataNode 向 NameNode 报告已存储的数据块信息。

客户端 请求 NameNode 读取文件。

NameNode 返回文件的元数据和数据块位置信息。

客户端 按顺序从相应的 DataNode 读取数据块。

客户端 汇总数据块,呈现完整文件。

相关推荐
abcy07121321 小时前
flask celery hdfs 异步上传
python·hdfs·flask
abcy0712131 天前
python fastapi celery hdfs 异步上传
python·hdfs·fastapi
abcy0712131 天前
python InsecureClient 上传下载查看删除实例
python·hdfs
知识分享小能手5 天前
Hadoop学习教程,从入门到精通, HDFS分布式文件系统 — 完整知识点与案例代码(3)
hadoop·学习·hdfs
Eileen Seligman8 天前
0CTF/TCTF 2023 OLAPInfra Nashorn RCE + HDFS UDF RCE
大数据·hadoop·hdfs·ctf·rce
Sonnie0000001(马库斯)8 天前
【Hadoop之HDFS替换方案】【Haoop远程挂载Cubefs】Cubefs对接Hadoop生态
大数据·hadoop·hdfs
好问者8 天前
【大数据】:hdfs相关进程启停管理命令
大数据·hadoop·hdfs
冷色调的咖啡师11 天前
4.大数据高可用
大数据·linux·hadoop·hdfs·zookeeper·yarn
冷色调的咖啡师11 天前
1.大数据架构技术 上——搭建分布式Hadoop集群
大数据·linux·hadoop·分布式·hdfs·架构·yarn
杨云龙UP22 天前
Linux 根分区被日志吃满?一次 58G Broker 日志清理实战_2026-05-20
linux·运维·服务器·数据库·hdfs·apache