设为首页 加入收藏

TOP

Hadoop之HDFS分布式文件系统读写流程详解
2019-04-18 00:15:51 】 浏览:65
Tags:Hadoop HDFS 分布式 文件 系统 读写 流程 详解
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mmd0308/article/details/75003494

1、名词解释:

NameNode:

①、整个文件系统的管理节点。维护着整个文件系统的文件目录,文件/目录的元信息和每个文件对应的数据块列表。接收用户的操作请求。
②、文件包括:
fsimage:元数据镜像文件。存储某一段NameNode内存元数据信息。
edits:擦偶走日志文件。
fstime:保存最近一次的checkpoint的时间。
DataNode:

①、DataNode根据客户端的请求对文件系统执行读写操作。
②、它们还根据NameNode的指令执行诸如块的创建,删除和复制的操作。
Block:

一般用户数据存储在HDFS的文件中。文件系统中的文件将会分成一个或多个段和/或存储在各个数据节点中。这些文件段被称为块。换句话说,HDFS可以读取或写入的最小数据量称为块。默认块是128MB,dfs.block.size可以根据需要进行更改。

2、数据写入流程:


图析:

  1. 客户端向NameNode发送文件上传申请。
  2. NameNode返回Block存储DataNode地址等信息。
  3. 客户端写入文件到DataNode中。
  4. 当客户端写入一份数据之后,DataNode之间会异步的进行Block复制。
  5. 当最后面的DataNode上写完Block后,都会发送一个最终确认信息给前一个DataNode。
  6. DataNode反馈给客户端,数据写入完毕。
  7. 客户端向NameNode发送最终的Block确认信息。

3、数据读取流程:


图析:

  1. 客户端发送读取数据的请求给NameNode。
  2. NameNode反馈数据的DataNode存储地址及副本存储地址。
  3. 客户端直接在DataNode上读取数据。

4、总结:

  • 简单的根据自己的理解画了一些HDFS的读写流程,如有不对,望大神指出。
  • 了解原理,使我们更加深刻的理解HDFS设计。
  • 入门新手,请大神多多指点指点。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇HDFS(二) 下一篇大数据系列之Hadoop知识整理(四..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目