Hadoop+Spark大数据技术(微课版)
上QQ阅读APP看书,第一时间看更新

2.1 HDFS的基本特征

HDFS的基本特征

HDFS在普通的商用服务器节点构成的集群上即可运行,具有强大的容错能力。在编程方式上,除了API的名称不一样,通过HDFS读写文件和通过本地文件系统读写文件基本类似,非常易于编程。HDFS具有以下6个基本特征。

1.大规模数据分布存储

HDFS基于大量分布节点上的本地文件系统,构成一个逻辑上具有巨大容量的分布式文件系统,并且整个文件系统的容量可随集群中节点的增加而线性扩展。HDFS可存储几百吉字节、几百太字节大小的文件,还支持在一个文件系统中存储高达数千万量级的文件。

2.流式访问

HDFS是为了满足批量数据处理的要求而设计的。为了提高数据吞吐率,HDFS放松了POSIX(portable operating system interface,可移植操作系统接口)的一些要求,可以以流式访问文件系统的数据。

3.容错

在HDFS的设计理念中,硬件故障被视作一个常态。因此,HDFS设计之初就保证了系统能在经常有节点发生硬件故障的情况下正确检测节点故障,并且能自动从故障中快速恢复,确保数据处理继续进行且不丢失数据。

4.简单的文件模型

HDFS采用“一次写入、多次读取”的简单文件模型,支持大量数据的一次写入和多次读取,同时支持在文件的末端追加数据,而不支持在文件的任意位置进行修改。

5.数据块存储模式

HDFS基于大粒度数据块存储文件,默认的数据块大小是64MB。这样做的好处是可以减少元数据的数量。

6.跨平台兼容性

HDFS是采用Java语言实现的,具有很好的跨平台兼容性,支持JVM的机器都可以运行HDFS。