Hadoop生态系统包含众多框架,从Hadoop框架本身开始,Hadoop本身包含三个组件 HDFS, Yarn, MapReduce,分别对应海量数据存储,资源调度,海量数据计算。 (讨论的是Hadoop 2.X,Yarn代替了1.X的 JobTracker)
一、HDFS, 又称 分布式文件系统,为适应海量数据的存储问题而设计,主要包含三个部分 NameNode, SecondaryNameNode, DataNode
1.1 NameNode(NN)
NN管理元数据信息,以及每一个文件对应的块信息
2.1 SecondaryNameNode(2NN)
2NN是后台运行的程序,辅助NN管理元数据
3.1 DataNode(DN)
DN用于实际管理文件数据块,存有数据块的副本
NN | DN |
存储元数据(目录结构与文件分块位置信息) | 存储文件内容(Block) |
存在内存 | 存在磁盘 |
保存Block, DN, 文件之间的映射关系 | 保存Block id, DN 本地文件之间的映射关系 |
小结:NN与DN形成Master/Slaver主从架构,NN是主节点,DN是从节点,协调运行形成分布式文件系统。HDFS适用于 “一次写入,多次读取” 的场景,即大数据分析场景下的底层数据存储,而不是网盘这类应用,因为修改不便,延迟大&#x