What is HDFS?
HDFS源自于2003年10月Google发表的一篇GFS论文,他是GFS的克隆版。HDFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。
HDFS基本可以认为是GFS的简化版,由于时间及应用场景等各方面的原因对GFS的功能做了一定的简化,大大降低了复杂度。
HDFS为了更好地服务于应用,提供了类似Linux命令的Shel接口和API接口。此外,HDFS还可以通过HTTP协议支持用户通过浏览器客户端对HDFS平台上的文件和数据进行检索。
经典传统分布式储存模式与HDFS存储模式的比较
分布式系统存储文件的特点:
文件太大,一个机器的空间不足,可以将文件分割为小块儿然后保存到多台机器上;另外,还可以在不同机器上对文件进行备份,避免因为机器损坏文件丢失。
传统的分布式存储模式也可以做到以上两点,但是存储一些问题:负载难以均衡。
HDFS的出现就是为了解决负载均衡。它会将文件切割成大小相同的块(Bolck),默认情况下是128MB。
Apache HDFS的特点
1)功能强大,操作简单、易用;
2)良好的扩展性;
3)高容错性;
4)支持流式数据访问;
5)适合PB级以上海量数据存储;
6)异构硬件平台间的可移植性。
HDFS的体系结构
HDFS采用master/slave架构。
一个HDFS集群由一个NameNode和一定数目的DataNode组成。
NameNode是一个中心服务器---master机,负责管理文件系统的命名空间及客户端对文件的访问;
DataNode是集群中的slave机,每个slave机充当一个node,启动一个DataNode的守护进程,负责管理本机上的存储。
关键词:Client、Metadata(元数据)、NameNode、DataNode、Block、Rack、Replication(复制)
网友评论