分布式文件系统:HDFS(5)

本文详细介绍了HDFS(Hadoop Distributed File System)的特性、NameNode和DataNode的角色,以及文件的写入和复制过程。HDFS通过文件块的复制提高可用性,NameNode维护文件系统的元数据,而DataNode存储文件内容并定期发送心跳信号。此外,还阐述了HDFS如何利用快照功能实现系统回滚。
摘要由CSDN通过智能技术生成

六、HDFS

HDFS是Hadoop生态系统中的基础构件--文件系统。它的设计与与GFS类似:文件系统的元数据与文件内容数据分开存储。文件系统的可用性通过复制,而不是依靠RAID来实现的。

1. 特点

HDFS就有如下特点:

  • 文件操作接口尽量与Unix系统保持一致
  • NameNode存储元数据包括文件层次关系,文件块的位置等。
  • DataNode存储文件内容数据。文件数据被划分为大小为64MB(可以调节)文件块,文件块被复制到不同的DataNode上,以提高系统可用性。
  • 采用单写多读Single-writer, multiple-reader模型。
    HDFS客户端在写某个文件的时候,它会得到一个令牌。当客户端关闭这个文件的时候,令牌被收回。这个令牌有一个存活时限。这样HDFS可以保证一个客户端在获得令牌后,不会因崩溃而导致令牌被长久持有。

2. NameNode

NameNode负责维护HDFS的名字空间namespace。在HDFS格式化的时候,一个名字空间ID会分配给它,并且这个ID会保存在这个HDFS集群中所有的Node中,包括NameNode和DataNode。

HDFS把整个文件系统的名字空间保存在内存中。如此HDFS可以快速定位文件块的位置,对更新和增加文件块请求提供服务。

但是这个方式有一个问题,如果NameNode崩溃,它所作的修改将有可能丢失。准确的说,在最后一次写磁盘后所作的修改将会丢失。为了重建这个名字空间,NameNode在启动后需要跟所有DataNode通信获取所有关于文件块的信息。为了加快这一过程,NameNode提供检查点和日志。通过最新的检查点和日志,NameNode可以快速重建内存中的名字空间。

同时&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值