Hadoop学习之HDFS架构(一)
【摘要】
HDFS的全称是Hadoop Distributed File System(Hadoop分布式文件系统),是受到Google的GFS(Google文件系统)启发而设计开发出来的运行在商用主机上的分布式文件系统。最初HDFS是作为Nutch网络搜索引擎项目的基础结构发展的(在Nutch2.x版本以前,搜索到的数据存储在HDFS上,2.x...
HDFS的全称是Hadoop Distributed File System(Hadoop分布式文件系统),是受到Google的GFS(Google文件系统)启发而设计开发出来的运行在商用主机上的分布式文件系统。最初HDFS是作为Nutch网络搜索引擎项目的基础结构发展的(在Nutch2.x版本以前,搜索到的数据存储在HDFS上,2.x版本中可以将数据存储在诸如HBase等NoSQL中),现在是Hadoop的子项目。HDFS和现在使用中的分布式文件系统有很多相似之处,但也有显著的不同之处。HDFS具有很高的容错性,被设计运行在低成本的硬件之上,提供访问应用程序数据的高吞吐量,适用于拥有大数据集的应用程序。HDFS放宽了一些POSIX要求以增强对文件系统数据的流访问。
在了解了HDFS是如何发展起来之后,现在看看设计HDFS时的设想或者想要实现怎样的目标呢。
- 硬件故障。硬件故障属于正常现象而不是异常,也就是说硬件故障是在物理硬件在持续工作了若干时间后出现的自然问题并非出自人为的或者设计上的问题,也是在所难免的。HDFS实例可能由成百上千台服务器组成,每台存储了部分文件系统数据。实际情况中HDFS拥有巨大数量的组成部分,并且每个部分都有小概率的可能性发生故障,这就意味着在HDFS中有些部分总是不能正常工作的。因此,检查错误并且快速、自动地恢复这些部分就是HDFS的核心架构目标。
- 流数据访问。运行在HDFS上的应用程序需要以流方式读取它们的数据集,这些应用程序不是典型地运行在通用文件系统上的通用应用程序。HDFS被设计更多地用于批量处理而不是与用户交互使用,重点是高吞吐量的数据读取而不是低延迟的数据读取。POSIX的一些硬性要求是运行在HDFS上的应用程序不需要的,HDFS放宽了这些要求,在一些关键领域POSIX语义用于增加数据吞吐率。
- 大数据集。运行在HDFS上的应用程序拥有大数据集,在HDFS上的典型文件大小从GB
文章来源: wenyusuran.blog.csdn.net,作者:文宇肃然,版权归原作者所有,如需转载,请联系作者。
原文链接:wenyusuran.blog.csdn.net/article/details/25237469
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)