设为首页收藏本站language 语言切换
查看: 1184|回复: 0
收起左侧

[分享] 【干货】掌握HDFS业务开发流程

[复制链接]
 成长值: 42295
发表于 2018-10-10 11:04:42 | 显示全部楼层 |阅读模式

                               
登录/注册后可看大图


一、HDFS概述

    HDFS(Hadoop Distributed File System)基于Google发布的GFS论文设计开发,适合运行在通用硬件上的分布式文件系统。

HDFS特性:
高容错性:认为硬件总是不可靠的
高吞吐量:为大量数据访问应用提供高吞吐量支持
大文件存储:支持存储TB-PB级别的数据

HDFS适合做什么:
大文件存储、流式数据访问                 

HDFS不适合做什么:
大量小文件、随机写入、低延迟读取

适用于以下几种场景:
海量文件存储,1-10亿级别的文件存储。
大文件存储,GB以上文件的存储。
流式文件存储,改写较少。如:图片,视频,归档数据。

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数据读取流程

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

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

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

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

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

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


                               
登录/注册后可看大图


   希望今天的【干货小课堂】能够帮助你更好的理解HDFS的相关知识。

   小伙伴们还想了解哪方面的专业内容可以在文章下方留言,智汇小讲师一定倾囊相授!


更多免费视频资料

                               
登录/注册后可看大图


                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图


扫描即可免费观看全套HCNA视频


学校:智汇云校 QQ:896006006  微信:18575597769​(手机号同步)

【智汇云校官网】https://www.zhihuirongyun.com

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-2 23:54 , Processed in 0.073376 second(s), 11 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表