1.Hadoop自带的一个称为HDFS的分布式文件系统,即Hadoop Distributed Filesystem。它是以流式数据访问模式来存储超大文件,运行于商用硬件集群上;node
2.超大文件,目前能够存储PB级别数据了;分布式
3.流式数据访问;oop
4.商用硬件,廉价机器便可;优化
5.低时间延迟的数据访问,记住HDFS是为高数据吞吐量应用优化的,这可能会以提升时间延迟为代价,目前对于低延迟的访问需求,HBase是更好地选择;进程
6.大量的小文件,因为namenode将文件系统的元数据存储在内存中,所以该文件系统所能存储的文件总数受限于namenode的内存容量。根据经验,每一个文件目录和数据块的存储信息大约占150字节,因此这类文件不是用在HDFS中;内存
7.多用户写入任意修改文件,HDFS中的文件写入只支持单个写入者,并且些操做老是以"只添加"方式在文件末尾写数据。它不支持多个写入者的操做,也不支持在文件的任意位置进行修改。可能之后会支持这些操做,但他们相对比较低效。it
关于HDFS的三个节点:io
1. Namenode:HDFS的守护进程,用来管理文件系统的命名空间,负责记录文件是如何分割成数据块以及这些数据块分别被存储到哪些数据节点上,它的主要功能是对内存及IO进行集中管理;集群
2.Datanode:文件系统的工做节点,根据须要存储和检索数据块,而且按期向namenode发送他们所存储的块的列表;后台
3.Secondary Namenode:辅助后台程序,与NameNode进行通讯,以便按期保存HDFS元数据的快照;
4.HDFS Federation(联邦HDFS):经过添加namenode实现扩展,其中每一个namenode管理文件系统命名空间中的一部分。每一个namenode维护一个命名空间卷,包括命名空间的源数据和该命名空间下的文件的全部数据块的数据块池;
5.HDFS的高可用性(High-Availability):Hadoop的2.x发行版本在HDFS中添加了对高可用性(HA)的支持。在这一实现中,配置了一对活动-备用(active-standby)namenode。当活动namenode实效,备用namenode就会接管它的任务并开始服务于来自客户端的请求,不会有明显的中断。