大数据Hadoop-HDFS_架构、读写流程

大数据Hadoop-HDFS

基本系统架构

HDFS架构包含三个部分:NameNode,DataNode,Client。

NameNode:NameNode用于存储、生成文件系统的元数据。运行一个实例。

DataNode:DataNode用于存储实际的数据,将自己管理的数据块上报给NameNode ,运行多个实例。

Client:支持业务访问HDFS,从NameNode ,DataNode获取数据返回给业务。多个实例,和业务一起运行。

HDFS数据写入流程

HDFS数据写入流程如下:

(1)业务应用调用HDFS Client提供的API,请求写入文件。

(2)HDFS Client联系NameNode,NameNode在元数据中创建文件节点。

(3)业务应用调用write API写入文件。

(4)HDFS Client收到业务数据后,从NameNode获取到数据块编号、位置信息后,联系DataNode,并将需要写入数据的DataNode建立起流水线。完成后,客户端再通过自有协议写入数据到DataNode1,再由DataNode1复制到DataNode2, DataNode3。

(5)写完的数据,将返回确认信息给HDFS Client。

(6)所有数据确认完成后,业务调用HDFS Client关闭文件。

(7)业务调用close, flush后HDFS Client联系NameNode,确认数据写完成,NameNode持久化元数据。

HDFS数据读取流程

HDFS数据读取流程如下:

(1)业务应用调用HDFS Client提供的API打开文件。

(2)HDFS Client联系NameNode,获取到文件信息(数据块、DataNode位置信息)。

(3)业务应用调用read API读取文件。

(4)HDFS Client根据从NameNode获取到的信息,联系DataNode,获取相应的数据块。(Client采用就近原则读取数据)。

(5)HDFS Client会与多个DataNode通讯获取数据块。

(6)数据读取完成后,业务调用close关闭连接。

相关推荐
Thomas214314 分钟前
pyspark3.5给paimon1.2的表打tag报错 spark_catalog is not a ProcedureCatalog
大数据·分布式·spark
稚辉君.MCA_P8_Java27 分钟前
Gemini永久会员 Hadoop分布式计算框架MapReduce
大数据·hadoop·分布式·架构·mapreduce
资深低代码开发平台专家38 分钟前
通用编程时代正在向专用化分层演进
java·大数据·c语言·c++·python
士心凡1 小时前
数据仓库教程
大数据·数据仓库·spark
会编程的李较瘦1 小时前
Spark SQL 窗口函数全面解析:概念、语法与实战案例
大数据·spark
武子康1 小时前
大数据-174 Elasticsearch 查询 DSL 实战:match/match_phrase/query_string/multi_match 全解析
大数据·后端·elasticsearch
源码技术栈1 小时前
Java智能诊所管理系统源码 SaaS云门诊运维平台源码
java·大数据·运维·人工智能·源码·诊所·门诊
金融小师妹1 小时前
机器学习驱动分析:ADP就业数据异常波动,AI模型预测12月降息概率达89%
大数据·人工智能·深度学习·编辑器·1024程序员节
智慧化智能化数字化方案1 小时前
ERP规划——解读86页大型企业业务流程优化及ERP整体规划方案【附全文阅读】
大数据·人工智能·erp整体规划方案·erp实施项目建设方案·erp基本概念培训
ii_best2 小时前
用鹰眼投屏软件注册Vinted,跨境入门效率翻倍教程
大数据·运维·服务器