Hadoop权威指南-3.1 HDFS的设计 - 高飞网

3.1 HDFS的设计

2016-10-21 10:00:40.0

    HDFS以流式数据访问模存储超大文件,运行于商用硬件集群上。

  1. 超大文件
  2. 流式数据访问 HDFS的构建思路是:一次写入、多次读取。
  3. 商用硬件 Hadoop并不需要运行在昂贵且高可靠的硬件上。它是设计运行在商用硬件的集群上的,因此至少对于庞大的集群来说,节点故障的几率是非常高的。HDFS遇到上述故障时,被设计成能够继续运行且不让用户察觉到明显的中断。
  4. 低时间延迟的数据访问 要求低时间延迟数据访问的应用,例如几十毫秒范围内,不适合在HDFS上运行。HDFS是为高数据吞吐量应用设计的,这可能会以提高时间延迟为代价。目前,对于低延时的访问需求,HBase是更好的选择。
  5. 大量的小文件 由于namenode将文件系统的元数据存储在内存中,因此该文件系统所能存储的文件总数受限于namenode的内存容量。根据经验,每个文件、目录和数据块的存储信息大约占150字节。因此,举例来说,如果有一百万个文件,且每个文件占一个数据块,那至少需要存储300MB的内存。尽管存储上百万个文件是可行的,但存储十亿文件(元数据占用内存近300G)就超出了当前硬件的能力。
  6. 多用户写入,任意修改文件 HDFS中的文件可能只有一个writer,而且写操作总是将数据添加到文件末尾。它不支持多个写入者的操作,也不支持在文件的任意位置进行修改。