Hadoop是一种分布式系统基础架构。它的目的是从单一的服务器到上千台机器的扩展,每一个台机都可以提供本地计算和存储。
Hadoop主要包括HDFS,YARN,MapReduce三个核心组件:
HDFS:负责海量数据的存储
MapRduce:负责海量苏剧的运算
YARN:负责资源调度
HDFS是一个分布式文件系统,主要过程如下:
可见,主要分为四个部分:
1,client
HDFS是一个主从关系的结构,client就是客户端,负责文件切分,与namenode和datanode交互。
2,namenode
namenode是一个master(大管家,主管),管理HDFS的命名空间(namespace),保存了两个重要的内容:fsimage和editlog。fsimage用于维护文件系统树以及文件树中所有的文件和文件夹的元数据;editlog则记录了文件的编辑日志。
3,datanode
datanode是一个slave(奴隶),用来存储具体的文件,执行数据块的读写操作。
4,secondarynamenode
secondarynamenode是用来辅助namenode,减轻其负担的。因为fsimage往往十分巨大而且及其重要,因此需要secondary定期和namenode通信完成备份。过程如下: