HDFS官网翻译——HDFS 架构指南(一)
翻译https://hadoop.apache.org/docs/r1.2.1/hdfs_design.html
-----------------------------------------------------------------------------------------------
介绍
HDFS,The Hadoop Distributed FIle System 是设计用于在廉价机器上运行的分布式文件系统。它与已经存在的其他分布式文件系统类似 。但是,不同点也很明显,HDFS支持高容错、支持在廉价硬件部署。HDFS提供应用数据访问的高吞吐,适用于大数据集。HDFS放松了一些POSIX要求,以支持对文件系统数据的流访问。HDFS现在是Apache核心项目。HDFS现在是Apache Hadoop子项目。项目URL是https://hadoop.apache.org/hdfs/。
假设和目标
硬件失败
硬件失败很常见。一个HDFS实例可能包含成百上千的服务器。HDFS包含大量组件,每一个组件都可能报错,报错的组件将意味着功能不可用。因此,对于报错和快速探测,自动恢复是HDFS的核心目标。
流式数据访问
HDFS上运行的应用需要流式访问应用的数据集。这与通常的应用访问数据不同。HDFS被设计用于批量处理数据而不是与用户交互式处理。HDFS设计的重点是高吞吐而不是低的数据访问。
大数据集
运行在HDFS的应用有一个大的数据集。HDFS的文件一般是GB到TB级大小的。因此,HDFS主要支持大的文件。提供高聚合的数据带宽,同时一个集群中扩展到成百个节点。单实例中需要支持一亿个文件。
简单聚合模型
HDFS应用文件支持“一次写入多次读出”的模式。文件一旦创建、写入、关闭将不支持修改。这种假设简化了数据一致性问题,并支持高吞吐量的数据访问。MapReduce应用程序或web爬虫应用程序非常适合这种模型。将来HDFS可能会支持对文件追加写操作。
“移动算法比移动数据便宜”
算法在更靠近数据的地方执行效率更高。尤其是当数据量特别大的时候。因为这样会减少网络传输压力提高系统整理吞吐。HDFS提供接口用于将HDFS自身算法移动到数据集所在位置。
支持跨异构软硬件移植
HDFS被设计在平台间移植很容易。这使得有大量数据集需要处理的平台都更倾向于采用HDFS。
- 点赞
- 收藏
- 关注作者
评论(0)