《大数据技术原理与应用》暑假学习计划_04 - 分布式文件系统HDFS
块
块?分布式文件系统HDFS最核心的内容。分布式文件系统HDFS上的文件也被划分为块大小的多个分块作为独立的存储单元。
与通常的磁盘文件系的联系是:都是为了分摊磁盘读写开销也就是在大量数据间分摊磁盘寻址的开销。
与通常的磁盘文件系统不同的是:HDFS中小于一个块大小的文件不会占据整个块的空间(当一个1MB的文件存储在一个128MB的块中时,文件只使用1MB的磁盘空间,而不是128MB)
为什么要设计块?①:支持向大规模数据存储 ②:降低分布式节点开销
块的优点:大规模文件存储,简化系统设计,适合数据备份。
块的缺点:Map Reduce分布式处理不太好。
分布式文件系统HDFS两大组件
名称节点Name Node→整个HDFS集群的管家→数据目录→元数据
- 文件是什么?
- 文件被分成多少块?
- 每个块和文件之间是怎么映射的?
- 每个块被存储在那个服务器上?
名称节点
- FsImage
保存系统文件树:文件复制等级,块大小以及组成文件的块,修改和访问的时间,访问权限。
- EditLog
记录对数据进行的创建,删除,重命名等操作。
第二名称节点:
对EditLog处理,名称节点的冷备份。
数据节点Data Node→存储实际数据
分布式文件系统HDFS体系结构的局限性?
- 节点容纳对象个数受空间大小限制
- 性能瓶颈
- 不同应用程序隔离问题
- 集群可用性
分布式文件系统HDFS数据冗余保存?
以块为单位一般备份三份,可以加快数据传输速度(并行操作),而且很容易检查数据错误,同时可以保证数据的可靠性。
数据读取方式:就近读取
数据错误与恢复:
- 名称节点错误→第二名称节点恢复
- 数据节点故障→宕机→备份恢复,数据块均衡分配
- 数据出错→效验码对比判断恢复
HDFS的数据读写过程?
最后附课堂练习实例运行截图: