HDFS 优点:
1. 高容错性,数据自动保存多个副本,副本丢失后自动恢复
2. 适合批处理,移动计算而非数据,数据位置暴露给计算框架
3. 适合大数据处理,百万规模以上的文件数量
4. 可构建在廉价机器上,通过多副本提高可靠性,提供了容错和恢复机制
HDFS 缺点:
1. 不适合低延迟数据访问,比如毫秒级,低延迟与高吞吐率
HDFS是为了处理大型数据集分析任务,主要是为了达到高的数据吞吐量而设计的,这就要求可能以高延迟作为代价
2.不适合小文件存取,占用NameNode大量内存,取道时间超过读取时间
在HDFS中,namenode将文件系统中的元数据存储在内存中,因此,HDFS所能存储的文件数量会受到namenode内存的限制。一般来说,每个文件、目录、数据块的存储信息大约占150个字节,根据当前namenode的内存空间的配置,就可以计算出大约能容纳多少个文件了
3.并发写入、文件随机修改,一个文件只能有一个写者,仅支持append