大数据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关闭连接。

相关推荐
昨天今天明天好多天3 小时前
【数据仓库】
大数据
油头少年_w4 小时前
大数据导论及分布式存储HadoopHDFS入门
大数据·hadoop·hdfs
Elastic 中国社区官方博客5 小时前
释放专利力量:Patently 如何利用向量搜索和 NLP 简化协作
大数据·数据库·人工智能·elasticsearch·搜索引擎·自然语言处理
力姆泰克5 小时前
看电动缸是如何提高农机的自动化水平
大数据·运维·服务器·数据库·人工智能·自动化·1024程序员节
力姆泰克5 小时前
力姆泰克电动缸助力农业机械装备,提高农机的自动化水平
大数据·服务器·数据库·人工智能·1024程序员节
QYR市场调研5 小时前
自动化研磨领域的革新者:半自动与自动自磨机的技术突破
大数据·人工智能
工业互联网专业6 小时前
Python毕业设计选题:基于Hadoop的租房数据分析系统的设计与实现
vue.js·hadoop·python·flask·毕业设计·源码·课程设计
半部论语6 小时前
第三章:TDengine 常用操作和高级功能
大数据·时序数据库·tdengine
EasyGBS7 小时前
国标GB28181公网直播EasyGBS国标GB28181软件管理解决方案
大数据·网络·音视频·媒体·视频监控·gb28181
2403_875736877 小时前
道品科技的水肥一体化智能灌溉:开启现代农业的创新征程
大数据·人工智能·1024程序员节