频道栏目
首页 > 网络 > 云计算 > 正文

Hadoop分布式文件系统的设计和架构

2017-10-11 09:20:32      个评论    来源:何先禄的博客  
收藏   我要投稿

Hadoop分布式文件系统(HDFS)

HDFS(Hadoop Distribuyed Filesystem)的设计

处理超大文件

流式访问数据:一次写入,多次读取

运行在廉价的商用集群上:导致节点故障高

不适合低延迟数据访问:HDFS为数据高吞吐量设计,可能会以高时间延迟为代价

不适合存储大量小文件:每个文件的元数据存储在内存中,大量小文件会占据大量内存。(每个文件元数据信息大概150字节)

不可以多用户写入,任意修改文件

数据块

HDFS以数据块作为存储单元。默认128M,256M...

优点:

使用块抽象而非整个文件作为存储单元,降低存储子系统的设计。

一个文件大小可能大于磁盘的容量。文件中所有的块可以对集群上任意一个磁盘进行存储。

块适合数据备份。HDFS默认每个数据块3个备份。确保数据安全性。一个DataNate节点损坏,并不会造成数据的丢失。

HDFS架构

HDFS以管理者-工作者模式运行。一个管理者(NameNode),多个工作者(DataNode)。

NameNode:管理文件系统的命名空间,维护文件系统所有文件目录的元数据信息永久保存在本地磁盘上。

管理文件块和DataNode对应关系,将数据保存在内存中(不适合存储大量小文件原因)

整个文件系统集群的访问入口,无论读写数据都将先访问NameNode

DataNode:文件系统的工作节点根据客户端或NameNode调度存储并检索数据块(相应客户端需求存储真实数据)

定期向NameNode发送他们存储的数据块的列表(心跳机制默认3秒,超过NameNode认为该节点不可用)

客户端:代表用户通过NameNode和DataNode交互访问整个文件系统。

NameNode节点损坏将导致文件系统无法使用。对NameNode的容错比较重要,Hadoop提供两种机制。

一、备份组成文件系统元数据持久状态的文件。通过配置使NameNode在多个文件系统上保存元数据的持久状态。通常一个将持久状态写入到本地磁盘,同时写入一个远程挂载网络文件系统。

二、运行一个辅助NameNode。SecondaryNameNode

上一篇:qcow2转vmdk后windows系统蓝屏了怎么办?
下一篇:hash将大文件转成小文件的代码实例,能排序和求TopN
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站