对于一个企业大数据应用来说,搞定了大数据存储基本上就解决了大数据应用最重要的问题。Google 三驾马车的第一驾是GFS,Hadoop最先开始设计的就是HDFS,可见分布式存储的重要性,整个大数据生态计算框架多种多样,但是大数据的存储却没有太大的变化,HDFS依旧是众多分布式计算的基础。当然HDFS也有许多缺点,一些对象存储等技术的出现给HDFS的地位带来了挑战,但是HDFS目前还是最重要的大数据存储技术,新的计算框架想要获得广泛应用依旧需要支持HDFS。大数据数据量大、类型多种多样、快速的增长等特性,那么HDFS是如何去解决大数据存储、高可用访问的了?
HDFS系统架构
Hadoop分布式文件系统的设计目标就是把数以千计的服务器管理起来,将这么大规模的服务器当作一个分布式文件系统进行管理,以提供PB存储容量应对大量数据的存储,同时供计算框架和上层应用提供服务,可以像普通文件系统一样存储、访问大规模的文件数据。具体的实现是将数据进行分块后进行并行的存储以及冗余存储,如下系统架构:
图中hdfs中有两个关键组件,一个是Namenode负责对分布式文件系统元数据的管理,存储了文件名、路径、副本数量、数据块id以及存储的Datanode节点等信息,另一个是Datanode节点,负责文件数据的存储和读写操作,HDFS将文件数据分割成若干数据块,每个DataNode存储一部分数据块,这样文件就分布存储在整个HDFS服务器中。