好程序员大数据点睛:关于HDFS的二三事

1.Hadoop自带的一个称为HDFS的分布式文件系统,即Hadoop Distributed Filesystem它是以流式数据访问模式来存储超大文件运行于商用硬件集群上

2.超大文件目前可以存储PB级别数据了

3.流式数据访问

4.商用硬件,廉价机器即可

5.低时间延迟的数据访问记住HDFS是为高数据吞吐量应用优化的这可能会以提高时间延迟为代价目前对于低延迟的访问需求,HBase是更好地选择

6.大量的小文件由于namenode将文件系统的元数据存储在内存中因此该文件系统所能存储的文件总数受限于namenode的内存容量根据经验每个文件目录和数据块的存储信息大约占150字节所以这类文件不是用在HDFS中

7.多用户写任意修改文件HDFS中的文件写入只支持单个写入者而且些操作总是以"只添加"方式在文件末尾写数据它不支持多个写入者的操作也不支持在文件的任意位置进行修改可能以后会支持这些操作但他们相对比较低效

关于HDFS的三个节点:

1. NamenodeHDFS的守护进程用来管理文件系统的命名空间负责记录文件是如何分割成数据块以及这些数据块分别被存储到哪些数据节点上它的主要功能是对内存及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就会接管它的任务并开始服务于来自客户端的请求,不会有明显的中断


猜你喜欢

转载自blog.51cto.com/14249543/2395123