一、Hadoop主要组件
HDFS
是Hadoop
分布式文件系统,主要用于数据存储YARN
是一种资源管理器,主要用于资源调度MapReduce
主要用于计算Common
是辅助工具
二、HDFS架构概述
NameNode(nn)
:存储文件的元数据,如文件名、目录结构、属性,以及每个文件的块列表和块所在的DataNode
等DataNode(dn)
:存储文件块数据以及其校验和Secondry NameNode(2nn)
:用来监控HDFS
状态的辅助后台程序,每隔一段时间获取HDFS
元数据的快照- 辅助
NameNode
,分担其工作量,比如定期合并Fsimage
和Edits
,并推送给NameNode
; - 在紧急情况下,可辅助恢复
NameNode
。 - 注意:
Secondry NameNode(2nn)
并非NameNode
的热备,当NameNode
挂掉的时候,它并不能马上替换NameNode
并提供服务。
- 辅助
- 个人理解:
NameNode
类似索引,存储目录,DataNode
存储相关数据,Secondry NameNode
用于辅助NameNode
三、YARN架构概述
ResourceManager(RM)
:用于处理客户端请求;监控NodeManager
;启动或监控ApplicationMaster
;资源的分配与调度NodeManager(NM)
:管理单个节点上的资源;处理来自ResourceManager
的命令;处理来自ApplicationMaster
的命令ApplicationMaster(AM)
:负责数据切分;为应用程序申请资源并分配给内部的任务;任务的监控与容错Container
:YARN
中资源的抽象,它封装了某个节点上的多维度资源,如内存、CPU
、磁盘、网络等- 目前重点理解
ResourceManager
和NodeManager
四、MapReduce架构概述
MapReduce
将计算分为两个阶段:
Map
阶段:并行处理输入数据Reduce
阶段:对Map
结果进行汇总