全部博文(69)
分类: LINUX
2012-03-24 08:27:52
HDFS被设计成用来在廉价集群设备上存储超大的,流式访问的文件,首先了解下这几个特点:
一、HDFS适合的场景
超大文件存储
超大,是多大呢?在这里超大指上百M,上百G,乃至上百T的大小。现在运行的Hadoop集群里有的存储达P级的数据
2.流式数据访问
HDFS是建立在绝大多数有效的数据访问都是以一次些,多次读的模式上。一个数据集要么是通
过源数据集拷贝,要么是通过它来产生的。
3.廉价设备
Hadoop并不需要昂贵的,高可靠性的硬件来运行。它被设计成运行在廉价设备的集群上,这些
集群里的节点挂掉的概览很高,尤其是对于较大的集群。
二、 HDFS不适合以下场景:
1、低延时数据访问
对实时性要求很高的应用,要求在10毫秒的数量级的应用,不适合用HDFS。HDFS被设计
成高数据吞吐量,这个对实时性有很大的牺牲。
2、很多小文件
因为namenode节点会保存文件系统中所有文件的基本信息,所以namenode节点的内存
大小决定了,整个文件系统能够存储的文件数目。每个文件,文件夹,每个数据块的基本信会
占用150k的内存,那么对于一百万个文件,那么至少需要300M内存空间。
3、多次写,随机修改
HDFS中的文件只能被一个writer来进行写操作,而且写操作只在文件的结尾进行。所以对于
writer写,任意位置修改都是不支持的。