HDFS的工作原理

HDFS的工作原理

ID:47429591

大小:87.94 KB

页数:3页

时间:2020-01-11

HDFS的工作原理_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《HDFS的工作原理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、HDFS的工作原理Hadoop分布式文件系统(HDFS)是一种被设计成适合运行在通用硬件上的分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。它能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。要理解HDFS的内部工作原理,首先要理解什么是分布式文件系统。1、分布式文件系统多台计算机联网协同工作(有时也称为一个集群)就像单台系统一样解决某种问题,这样的系统我们称之为分布式系统。分布式文件系统是分布式系统的一个子集,它们解决的问题就是数据存储。换句话说,它们是横跨在多台计算机上的存储系统。存储在分布式文件系统上的数据自动分布在不同的节点上。分布式文件系

2、统在大数据时代有着广泛的应用前景,它们为存储和处理来自网络和其它地方的超大规模数据提供所需的扩展能力。2、分离元数据和数据:NameNode和DataNode存储到文件系统中的每个文件都有相关联的元数据。元数据包括了文件名、i节点(inode)数、数据块位置等,而数据则是文件的实际内容。在传统的文件系统里,因为文件系统不会跨越多台机器,元数据和数据存储在同一台机器上。为了构建一个分布式文件系统,让客户端在这种系统中使用简单,并且不需要知道其他客户端的活动,那么元数据需要在客户端以外维护。HDFS的设计理念是拿出一台或多台机器来保存元数据,并让剩下的机器来保存文件的内容。Name

3、Node和DataNode是HDFS的两个主要组件。其中,元数据存储在NameNode上,而数据存储在DataNode的集群上。NameNode不仅要管理存储在HDFS上内容的元数据,而且要记录一些事情,比如哪些节点是集群的一部分,某个文件有几份副本等。它还要决定当集群的节点宕机或者数据副本丢失的时候系统需要做什么。存储在HDFS上的每份数据片有多份副本(replica)保存在不同的服务器上。在本质上,NameNode是HDFS的Master(主服务器),DataNode是Slave(从服务器)。3、HDFS写过程NameNode负责管理存储在HDFS上所有文件的元数据,它会确

4、认客户端的请求,并记录下文件的名字和存储这个文件的DataNode集合。它把该信息存储在内存中的文件分配表里。例如,客户端发送一个请求给NameNode,说它要将“zhou.log”文件写入到HDFS。那么,其执行流程如图1所示。具体为:第一步:客户端发消息给NameNode,说要将“zhou.log”文件写入。(如图1中的①)第二步:NameNode发消息给客户端,叫客户端写到DataNodeA、B和D,并直接联系DataNodeB。(如图1中的②)第三步:客户端发消息给DataNodeB,叫它保存一份“zhou.log”文件,并且发送一份副本给DataNodeA和DataN

5、odeD。(如图1中的③)第四步:DataNodeB发消息给DataNodeA,叫它保存一份“zhou.log”文件,并且发送一份副本给DataNodeD。(如图1中的④)第五步:DataNodeA发消息给DataNodeD,叫它保存一份“zhou.log”文件。(如图1中的⑤)第六步:DataNodeD发确认消息给DataNodeA。(如图1中的⑤)第七步:DataNodeA发确认消息给DataNodeB。(如图1中的④)第八步:DataNodeB发确认消息给客户端,表示写入完成。(如图1中的⑥)图1HDFS写过程示意图在分布式文件系统的设计中,挑战之一是如何确保数据的一致性

6、。对于HDFS来说,直到所有要保存数据的DataNodes确认它们都有文件的副本时,数据才被认为写入完成。因此,数据一致性是在写的阶段完成的。一个客户端无论选择从哪个DataNode读取,都将得到相同的数据。4、HDFS读过程为了理解读的过程,可以认为一个文件是由存储在DataNode上的数据块组成的。客户端查看之前写入的内容的执行流程如图2所示,具体步骤为:第一步:客户端询问NameNode它应该从哪里读取文件。(如图2中的①)第二步:NameNode发送数据块的信息给客户端。(数据块信息包含了保存着文件副本的DataNode的IP地址,以及DataNode在本地硬盘查找数据

7、块所需要的数据块ID。)(如图2中的②)第三步:客户端检查数据块信息,联系相关的DataNode,请求数据块。(如图2中的③)第四步:DataNode返回文件内容给客户端,然后关闭连接,完成读操作。(如图2中的④)图2HDFS读过程示意图客户端并行从不同的DataNode中获取一个文件的数据块,然后联结这些数据块,拼成完整的文件。5、通过副本快速恢复硬件故障当一切运行正常时,DataNode会周期性发送心跳信息给NameNode(默认是每3秒钟一次)。如果NameNode在预定的时间内没有收

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。