HDFS 简介
什么是 HDFS?
imageHDFS
全称 Hadoop Distributed File System,Hadoop
分布式文件系统。它是 2003 年 10 月 Google 发表的 GFS
(Google File System)论文的开源实现,之后成为 Apache Hadoop
的核心子项目,用于解决海量数据存储问题。它在开源大数据技术体系中,地位无可替代,到现在为止,依然是主流的大数据存储选型。
GFS
论文地址: http://nil.csail.mit.edu/6.824/2017/papers/gfs.pdf
设计目标
HDFS
的设计目标有:
- 可以运行在大量廉价商用机器上;因此硬件错误是常态,所以
HDFS
提供容错机制,来保证集群的安全性与数据的可靠性。 - 简单一致性模型:一次写入多次读取,支持追加,不允许修改,保证数据一致性。因为
HDFS
在数据存储时,会使用多副本机制保证数据的安全性;如果开放修改功能,首先会导致随机修改的出现,这在海量数据的分布式场景下无异是灾难,其次因为多副本的原因,数据修改后,其它副本的数据也一定要进行修改,从而保证数据一致性,这更加重了集群的负担。 - 流式数据访问:批量读而非随机读,关注吞吐量而非时间;
HDFS
在设计时就是为了海量数据的存储而生,并且用于支持海量数据的离线批处理,而在离线批处理场景中,数据都是全部被读取后,进行批量处理,所以HDFS
在设计上更注重数据的批量读而非随机读,保证数据处理时的吞吐效率。 - 存储大规模数据集:典型文件大小 GB~TB,关注横向线性扩展;这是
HDFS
设计的初衷,保证海量数据的存储。
HDFS
的优缺点
优点
HDFS
最大的优点在于它支持海量数据存储(典型文件大小 GB~TB,百万以上文件数量,PB 以上数据规模),是大数据存储的经典选型。
网友评论