目录
3.1分布式文件系统HDFS简介
HDFS全称:Hadoop Distributed File System
计算机集群的基本架构
机架内部之间通过光纤高速交换机进行连接,机架与机架之间采用带宽更高的交换机进行连接。
分布式文件系统结构图
HDFS实现目标
兼容廉价的硬件设备;
实现流式数据读写(海量数据的批量处理需求,只允许追加,不允许修改);
支持大数据集;
支持简单的文件模型(追求高效的数据读写,对文件进行简化,牺牲一部分相关性能);
强大的跨平台兼容性。
HDFS自身局限性
不适合低延迟数据访问(不能满足实时处理需求);
无法高效存储大量小文件;
不支持多用户写入及任意修改文件。
3.2HDFS相关概念
块:HDFS的块比普通文件系统的块(默认64MB)大很多(支持面向大规模数据存储;降低分布式节点寻址开销,但如果块过大会导致MapReduce只有一两个任务在执行完全牺牲了MapReduce的并行度,发挥不了分布式并行处理的效果)。
块的设计优势
支持大规模文件存储(对大文件进行切割成小块,突破单机存储的上限);
简化系统设计(方便元数据的设计与管理);
适合数据备份。
HDFS两大组件——NameNode和DataNode
名称节点NameNode
主节点,整个HDFS集群的管家,负责整个文件系统的元数据信息存储,相当于数据目录。
元数据
包括了文件的基本信息:是什么文件;文件被划分成多少块:每个块和文件之间的映射关系;文件的每个块被存储在哪台服务器上面。
名称节点存储的元数据信息中有两个关键部分:
FsImage
保存系统的文件树,以及文件树中所有的文件和文件夹元数据,可以获知整个文件目录(文件的复制等级,修改和访问时间,访问权限,块大小以及组成文件的块有哪些,不包括块的位置信息(由数据节点与名称节点在运行过程中的沟通实时维护这部分位置信息,存储在内存中))。