将笔记中HDFS中部分学习总结记录于此,对HDFS进行粗浅的介绍。
提出问题:1.HDFS副本存放策略;2.大文件写入策略(切分blocks,三份备份);3.HDFS不适合存储小文件,为什么?(元数据存储在内存中,过多小文件带来大量元数据,导致namenode负载过大)
建议读GFS原版论文,多读读。
概述:
- 非常易于扩展
- 运行在大量廉价主机上,提供容错机制,适合网盘业务
- 为大量用户提供性能不错的文件存取业务
优点:
- 高容错性,多个副本保存数据
- 适合批处理,移动计算而非移动数据,数据位置暴露给计算框架
- 适合大数据存储处理,上万节点
- 流式文件访问,一次写入,多次读取。保证一致性,不可修改,若想修改只能去Yarn
- 廉价主机集群
缺点:
- 不适合低延迟,hadoop框架核心是用延迟换取IO吞吐率,毫秒级延迟做不到
- 不适合小文件存取,占用namenode大量内存,小文件会导致寻道时间超过读取时间
- 不支持并发写入、随机修改,一个文件只能有一个写入操作者,仅支持append追加,不能改已有数据,
只能把现有的追加后删除原有文件。真实环境中,此类应用场景占据80%,因此用途较广
架构和原理:
目前标准配置:3TB×12
考虑问题:文件备份,负