一,hadoop 组成
- HDFS 负责数据的存储
- MapReduce 负责计算
- Yarn 负责资源的调度
- Common 辅助工具
以上hadoop 组成是指hadoop2.x ,在hadoop1.x 中 Mapreduce 同时处理业务逻辑运算和资源的调度,耦合性较大,在2.x 中增加了Yarn,来负责资源的调度。
HDFS 架构
- NameNode: 存储文件的元数据(文件名,文件目录结构,文件属性-- 生成时间,副本数,权限),以及每个文件的块列表以及块所在的DataNode等。
- DataNode: 在本地文件系统中存储文件块数据,以及块数据的校验和。
- SecondNameNode: 用来监控HDFS 状态的后台辅助程序,每隔一段时间获取HDFS元数据的快照。
Yarn 架构
- ResourceManager : a. 处理客户端请求 b. 监控NodeManager c. 启动或监控ApplicationMaster d. 资源的分配与调度
- NodeManager: a. 管理单个节点上的资源 b. 处理来自ResourceManager的命令 c. 处理来自ApplicationMaster的命令
- ApplicationMaster: a. 负责数据的切分 b. 为应用程序申请资源,并分配给内部的任务。c. 任务的监控与容错。
- Container: 是资源的抽象,封装了某个节点上的多维度资源,如内存,CPU, 磁盘,网络等。