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

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

相关推荐
IT成长日记2 天前
【Hive入门】Hive数据导出完全指南:从HDFS到本地文件系统的专业实践
hive·hadoop·hdfs·数据导出
李菠菜4 天前
常用Hadoop HDFS命令详解与实用指南
大数据·hadoop·hdfs
和算法死磕到底4 天前
ubantu18.04(Hadoop3.1.3)Hive3.1.2安装指南
大数据·数据库·hive·hadoop·mysql·hdfs·dubbo
IT成长日记6 天前
【HDFS】HDFS数据迁移与备份全攻略:从日常备份到灾难恢复
大数据·hadoop·hdfs·数据迁移与备份
IT成长日记9 天前
【HDFS入门】HDFS与Hadoop生态的深度集成:与YARN、MapReduce和Hive的协同工作原理
hadoop·hdfs·mapreduce·yarn
IT成长日记12 天前
【HDFS入门】HDFS核心组件JournalNode运行机制剖析:高可用架构的基石
hadoop·hdfs·架构·journalnode
爱编程的王小美20 天前
数据一致性:MySQL、HBase和HDFS的协同
mysql·hdfs·hbase
Y1nhl20 天前
Pyspark学习二:快速入门基本数据结构
大数据·数据结构·python·学习·算法·hdfs·pyspark
今天我又学废了22 天前
Spark,HDFS概述
大数据·hdfs·spark
闯闯桑1 个月前
Spark 从HDFS读取时,通常按文件块(block)数量决定初始partition数,这是怎么实现的?
大数据·hdfs·spark