开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第17天,点击查看活动详情
前言
上一篇我们学习Hadoop的一些基本组成信息,接下来我们开始深入介绍Hadoop的每一个组成模块,循序渐进、深入浅出全面学习Hadoop。
HDFS简介
假设有1000台机器,我们将很大的数据(nTB)拆分储存到这1000台机器上,HDFS就可以帮我们管理记录这些数据的存储。
官网描述:Hadoop Distributed File System (HDFS™):A distributed file system that provides high-throughput access to application data.
HDFS,是Hadoop核心组成,是分布式存储服务。
分布式文件存储系统横跨多台计算机,在大数据时代有着广泛的应用前景。它们为存储和处理超大规模数据提供所需的扩展能力。HDFS是分布式文件系统中的一种。
HDFS重要概念
HDFS通过统一的命名空间目录树来定位文件。并且HDFS是分布式的,由很多的服务器联合起来实现相应功能,在集群中服务器都有着各自的角色,各司其职。
在那个时候分布式文件系统那么多,为什么Hadoop项目中还要开发一个HDFS分布式文件存储系统?
Hadoop重新开发了一个HDFS和其他分布式储存系统的区别在于HDFS可以更好的支持分布式计算。
理论知识点
- 存储模型
- 架构设计
- 角色功能
- 元数据持久化
- 安全模式
- 副本放置策略
- 读写流程
- 安全策略
存储模型要点
- 文件线性按字节切割成块(Block),具有offset,id
- 文件与文件的Block大小可以不一样
- 一个文件除最后一个Block,其他block大小一致
- Block的大小依据硬件的I/O特性调整
- Block被分散存放在集群的节点中,具有location
- Block具有副本(replication),没有主从概念,副本不能出现在同一个节点
- 副本是满足可靠性和性能的关键
- 文件上传可以指定Block大小和副本数,上传后只能修改副本数
- 一次写入多次读取,不支持修改
- 支持追加数据
计算机中储存的是二进制文件,但是一般很少用bit去描述东西,一般是使用字节Byte去存储。包括但不限于图片、表格和视频等文件,换而言之文件在计算机中就是用一个字节数组来表示。