主页 > 新闻资讯 > 大数据程序开发培训班:分布式文件系统HDFS

大数据程序开发培训班:分布式文件系统HDFS

作者:张老师 浏览次数: 2020-06-28 11:46
企业基于大数据的发展,纷纷开始搭建起自身的大数据系统平台,而在大数据系统平台的开发,离不开专业技术的支持。以Hadoop为首的大数据技术框架,是必学的重点之一。今天的大数据程序开发培训班分享,我们来具体讲解一下Hadoop分布式文件系统HDFS。

在Hadoop大数据框架当中,HDFS作为分布式文件系统,主要是为了解决分布式存储的问题。面对规模越来越大、并且还在不断新增的大数据,分布式架构很好地解决了这个问题。

大数据程序开发培训班

分布式存储架构原理

一个分布式文件系统,通常由NameNode、DataNode和secondary namenode组成。

NameNode:作为master,管理元数据,包括文件名、副本数、数据块存储的位置,响应client的请求,接收workers的heartbeating和blockreport。

DataNode:管理数据(data block,存储在磁盘,包括数据本身和元数据)和处理master、client端的请求。定期向namenode发送它们所拥有的块的列表。

secondary namenode:备用master

Block:默认128MB,但小于一个block的文件只会占用相应大小的磁盘空间。将数据抽象成block,对于分离元数据和数据的存储、存储管理(block大小固定方便计算)、容错等方面。都提供了便利。

HDFS读写流程

写入:client端调用filesystem的create方法,后者通过RPC调用NN的create方法,在其namespace中创建新的文件。NN会检查该文件是否存在、client的权限等。成功时返回FSDataOutputStream对象。

client对该对象调用write方法,这个对象会选出合适存储数据副本的一组datanode,并以此请求DN分配新的block。这组DN会建立一个管线,例如从client node到最近的DN_1,DN_1传递自己接收的数据包给DN_2。DFSOutputStream自己还有一个确认队列。当所有的DN确认写入完成后,client关闭输出流,然后告诉NN写入完成。

读取:client端通过DistributedFileSystem对象调用open方法,同样通过RPC调用远程的NN方法获取所要查询的文件所涉及的blocks所存储的DN位置,而且这些位置是按照距离排序的。返回的结果是一个FSDataInputStream对象,对输入流对象调用read方法。输入流会从距离最近的DN中读取数据,将数据传递到client,读取结束后关闭流。

关于大数据程序开发培训班,分布式文件系统HDFS,以上就为大家做了一个详细的介绍了。以Hadoop为首的大数据处理框架,是学习大数据的重点,需要大家重视起来。成都加米谷大数据,专业大数据培训机构,大数据开发培训班,小班面授,本月正在招生中,课程大纲及试学视频可联系客服获取!
热点排行
推荐文章
立即申请>>