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的四个特性

  1. 高可靠(底层维护了多个副本,即使丢失某一个副本也没事)
  2. 高可扩展(在集群中分配任务,可以随意扩展集群的节点数)
  3. 高效性(基于MapReduce的思想,Hadoop是并行工作的,可以加快任务处理速度)
  4. 高容错性(可以将失败的任务重新分配,即使一个节点挂掉了也没事)

(2)Hadoop的组成

  1. 在hadoop1.x之前,由hdfs和mapreduce组成,hdfs负责存储,mapreduce负责计算和资源管理
  2. 在hadoop2.x之后,新增了yarn单独负责资源管理,让mr只负责计算,进行职能的解耦,提高了容错性。

二.HDFS概述

(1)HDFS概念

Hadoop的分布式的文件管理系统

(2) HDFS的特点

  1. 保存多个副本,且提供容错机制,副本丢失或者宕机自动恢复,默认保存3份
  2. 硬件要求不高,可以在廉价的机器上面运行
  3. 适合大文件处理不适合小文件处理,HDFS会将文件默认分为block块,每个块的初始大小是128M,然后将这些块的信息按照键值对,存储在内存中,如果小文件太多的话,就会使得内存的压力太大,寻址时间超过了读取时间。

(3)HDFS的组成结构和作用

  1. Namenode
  1. 管理HDFS命名空间,存储文件的元数据,目录结构,管理数据块的映射和datanode节点
  2. 处理客户端读写请求
  3. 配置副本策略
  4. namenode内存中存储的是两个东西,fsimage和edits

其中fsimage是 (元数据镜像文件)文件系统的目录树,NameNode内存中元数据序列化后形成的文件

edits是堆元数据进行追加操作,效率很高,每当元数据有更新或者添加元素时,修改内存中的元数据添加到Edits中去

  1. datanode
  1. 存储数据块,包括数据本身,和数据块的信息(数据长度,校验和,时间戳)
  2. 自动向namenode注册,并且周期性地向namenode返回自己地块信息
  3. 心跳每三秒一个,返回结果会带有namenode 的命令,如果namenode在10分钟30秒内没有接收到datanode的心跳,那么认为该节点不可用了
  1. SecondaryNamenode
  1. 专门用于Fsimage和edits的合并,减少namenode的压力,添加效率,并返回给Namenode 节点 fsimage.chkpoint,Namenode更名为fsimage
  2. 请求和执行checkpoint
  3. 在特殊情况可以进行namenode的恢复(一般不用)

三. Yarn的组成

管理整个集群的计算资源

1.Nodemanage 负责管理自己一台节点上的内存,将自己的信息汇总给ResourceManager

每次有任务时候,RM会先启动一个Appmaster,以容器 的行式运行,它为单个节点来向RM申请资源,各种资源也都是以资源的行式分配的。

有任务的时候会有Appmaster,没有就会回收

(1)ResourceManager(RM)

  1. 处理客户端请求
  2. 监控NodeManger
  3. 启动或监控ApplicationMaster
  4. 资源的分配和调度

(2)NodeManager

  1. 负责管理单个节点的资源
  2. 处理来自RM的命令
  3. 处理来自于ApplictionMaster命令

(3)ApplicationMaster

  1. 负责数据的切分
  2. 为应用程序申请资源并分配给内部的任务
  3. 任务的监控和容错

(4)container

  1. 分装了某个节点上的多维度资源,如内存,cpu,磁盘,网络