Hadoop Distributed File System,简称HDFS,是一个分布式文件系统。 HDFS是高容错性的,能够部署在低成本的硬件之上,HDFS提供高吞吐量地对应用程序数据访问,它适合大数据集的应用程序。它具备如下几个特色:html
1)适合存储很是大的文件node
2)适合流式数据读取,即适合“只写一次,读屡次”的数据处理模式架构
3)适合部署在廉价的机器上分布式
但HDFS不适合如下场景(任何东西都要分两面看,只有适合本身业务的技术才是真正的好技术):oop
1)不适合存储大量的小文件,由于受Namenode内存大小限制大数据
2)不适合实时数据读取,高吞吐量和实时性是相悖的,HDFS选择前者网站
3)不适合须要常常修改数据的场景视频
HDFS的架构如上图所示,整体上采用了Master/Slave的架构,主要有如下4个部分组成:htm
一、Clientblog
二、NameNode
整个HDFS集群只有一个NameNode,它存储整个集群文件分别的元数据信息。这些信息以fsimage和editlog两个文件存储在本地磁盘,Client经过这些元数据信息能够找到相应的文件。此外,NameNode还负责监控DataNode的健康状况,一旦发现DataNode异常,就将其踢出,并拷贝其上数据至其它DataNode。
三、Secondary NameNode
Secondary NameNode负责按期合并NameNode的fsimage和editlog。这里特别注意,它不是NameNode的热备,因此NameNode依然是Single Point of Failure。它存在的主要目的是为了分担一部分NameNode的工做(特别是消耗内存的工做,由于内存资源对NameNode来讲很是珍贵)。在紧急状况下,可辅助恢复NameNode。
四、DataNode
DataNode负责数据的实际存储,是文件存储的基本单元。当一个文件上传至HDFS集群时,它以Block为基本单位分布在各个DataNode中,同时,为了保证数据的可靠性,每一个Block会同时写入多个DataNode中(默认为3);周期性的将全部存在的Block信息发送给NameNode。
1)元数据与数据分离
2)主/从架构
3)一次写入屡次读取
4)移动计算比移动数据更划算
http://www.open-open.com/lib/view/open1370958803132.html
http://blog.jobbole.com/34244/
ZOOM 云视频会议网站:http://www.zoomonline.cn/