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

原文地址:https://blog.csdn.net/ak4777t/article/details/134702060

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_31232.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注