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 读取数据块。

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

相关推荐
筒栗子1 天前
复习打卡大数据篇——Hadoop HDFS 01
大数据·hadoop·hdfs
昨夜花落尽8 天前
sqoop导入hdfs,hive
hive·hdfs·sqoop
好记性+烂笔头9 天前
hbase读写操作后hdfs内存占用太大的问题
数据库·hdfs·hbase
难以触及的高度10 天前
Hadoop删除HDFS文件
hadoop·hdfs·eclipse
floret*15 天前
NiFi-从部署到开发(图文详解)
mysql·hdfs·kafka·nifi
KUKUKAKASSAN16 天前
hdfs-site.xml在修改正确后运行hadoop-daemon.sh start zkfc时,仍然无法自动选举namenode的bug解决方法
xml·hadoop·hdfs
Hello.Reader17 天前
解锁 MinIO 的强大功能
hdfs
无奈ieq17 天前
Flume——sink(每5秒记录写入HDFS)
hdfs·flume
李昊哲小课18 天前
scala 编写 hdfs 工具类
大数据·开发语言·hadoop·hdfs·数据分析·scala
llovew.19 天前
HDFS 操作命令
大数据·hadoop·hdfs