Hadoop组成结构(新版3.x)
- 一. HADOOP组成描述
- (1)Hadoop的四个特性
- (2)Hadoop的组成
- 二.HDFS概述
- (1)HDFS概念
- (2) HDFS的特点
- (3)HDFS的组成结构和作用
- 三. Yarn的组成
- (1)ResourceManager(RM)
- (2)NodeManager
- (3)ApplicationMaster
- (4)container
一. HADOOP组成描述
(1)Hadoop的四个特性
- 高可靠(底层维护了多个副本,即使丢失某一个副本也没事)
- 高可扩展(在集群中分配任务,可以随意扩展集群的节点数)
- 高效性(基于MapReduce的思想,Hadoop是并行工作的,可以加快任务处理速度)
- 高容错性(可以将失败的任务重新分配,即使一个节点挂掉了也没事)
(2)Hadoop的组成
- 在hadoop1.x之前,由hdfs和mapreduce组成,hdfs负责存储,mapreduce负责计算和资源管理
- 在hadoop2.x之后,新增了yarn单独负责资源管理,让mr只负责计算,进行职能的解耦,提高了容错性。
二.HDFS概述
(1)HDFS概念
Hadoop的分布式的文件管理系统
(2) HDFS的特点
- 保存多个副本,且提供容错机制,副本丢失或者宕机自动恢复,默认保存3份
- 硬件要求不高,可以在廉价的机器上面运行
- 适合大文件处理不适合小文件处理,HDFS会将文件默认分为block块,每个块的初始大小是128M,然后将这些块的信息按照键值对,存储在内存中,如果小文件太多的话,就会使得内存的压力太大,寻址时间超过了读取时间。
(3)HDFS的组成结构和作用
- Namenode
- 管理HDFS命名空间,存储文件的元数据,目录结构,管理数据块的映射和datanode节点
- 处理客户端读写请求
- 配置副本策略
- namenode内存中存储的是两个东西,fsimage和edits
其中fsimage是 (元数据镜像文件)文件系统的目录树,NameNode内存中元数据序列化后形成的文件
edits是堆元数据进行追加操作,效率很高,每当元数据有更新或者添加元素时,修改内存中的元数据添加到Edits中去
- datanode
- 存储数据块,包括数据本身,和数据块的信息(数据长度,校验和,时间戳)
- 自动向namenode注册,并且周期性地向namenode返回自己地块信息
- 心跳每三秒一个,返回结果会带有namenode 的命令,如果namenode在10分钟30秒内没有接收到datanode的心跳,那么认为该节点不可用了
- SecondaryNamenode
- 专门用于Fsimage和edits的合并,减少namenode的压力,添加效率,并返回给Namenode 节点 fsimage.chkpoint,Namenode更名为fsimage
- 请求和执行checkpoint
- 在特殊情况可以进行namenode的恢复(一般不用)
三. Yarn的组成
管理整个集群的计算资源
1.Nodemanage 负责管理自己一台节点上的内存,将自己的信息汇总给ResourceManager
每次有任务时候,RM会先启动一个Appmaster,以容器 的行式运行,它为单个节点来向RM申请资源,各种资源也都是以资源的行式分配的。
有任务的时候会有Appmaster,没有就会回收
(1)ResourceManager(RM)
- 处理客户端请求
- 监控NodeManger
- 启动或监控ApplicationMaster
- 资源的分配和调度
(2)NodeManager
- 负责管理单个节点的资源
- 处理来自RM的命令
- 处理来自于ApplictionMaster命令
(3)ApplicationMaster
- 负责数据的切分
- 为应用程序申请资源并分配给内部的任务
- 任务的监控和容错
(4)container
- 分装了某个节点上的多维度资源,如内存,cpu,磁盘,网络