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

[复制链接]
发表于 : 2018-10-10 10:44:15 最新回复:2018-10-10 11:09:03
494 1
goodie
goodie  精英

【干货分享】掌握HDFS业务开发流程-2773713-1

一、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业务开发流程-2773713-2
【干货分享】掌握HDFS业务开发流程-2773713-3


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业务开发流程-2773713-4

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

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


更多免费视频资料
【干货分享】掌握HDFS业务开发流程-2773713-5
【干货分享】掌握HDFS业务开发流程-2773713-6【干货分享】掌握HDFS业务开发流程-2773713-7【干货分享】掌握HDFS业务开发流程-2773713-8

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

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
  • x
  • 常规:

点评 回复

智汇云校主要培训华为认证、红帽、Oracle等认证培训,https://www.zhihuirongyun.com
跳转到指定楼层
Becky_2019
Becky_2019  管理员 发表于 2018-10-10 11:09:03 已赞(0) 赞(0)

感谢分享!
  • x
  • 常规:

点评 回复

发表回复
您需要登录后才可以回帖 登录 | 注册

警告 内容安全提示:尊敬的用户您好,为了保障您、社区及第三方的合法权益,请勿发布可能给各方带来法律风险的内容,包括但不限于政治敏感内容,涉黄赌毒内容,泄露、侵犯他人商业秘密的内容,侵犯他人商标、版本、专利等知识产权的内容,侵犯个人隐私的内容等。也请勿向他人共享您的账号及密码,通过您的账号执行的所有操作,将视同您本人的行为,由您本人承担操作后果。详情请参看“隐私声明
如果附件按钮无法使用,请将Adobe Flash Player 更新到最新版本!
登录参与交流分享

登录参与交流分享

登录