hadoop各组件及其作用

Hadoop是一个适合海量数据分布式存储和计算的一个平台。目前主要由三大组件组成:
HDFS 、mapreduce、Yarn。

  • HDFS:是一个分布式存储框架,适合海量数据的存储
  • mapreduce : 是一个分布式计算框架。适合海量数据的计算
  • Yarn:是一个资源调度平台,负责给计算框架分配资源

hadoop结构

1.HDFS

主从结构,由namenode和datanode组成。其中namenode最多可以有两个,但同时只能有一个。datanode理论上可以有无限个,极限大概是4000台。

在这里插入图片描述

  • namenode负责:

     -接受用户操作请求,是用户操作的入口
     -维护文件系统的目录结构,称为命名空间
    
  • datanode负责:

     实际存储数据
    

文件块block:最基本的存储单位,2.0以后默认大小为128M

  • SecondaryNameNode

      fsimage:元数据镜像文件,存储某一时间段Namenode内存元数据信息
      edits:用户操作日志文件
      负责 将fsimage与edits文件合并,防止namenode故障及缓解namenode压力
    

什么时候checkpoint:
1.fs.checkpoint.period 指定两次checkpoint的最大时间间隔,默认3600秒
2.fs.checkpoint.size 规定edits文件的最大值,一旦超过这个值则强制checkpoint,默认64M

在这里插入图片描述

2.mapreduce

依赖磁盘IO的批处理计算模型。
主从结构 主节点只有一个,为MRAppMaster,从节点为具体的task组成。

由两个阶段组成:map和reduce阶段。
map阶段是一个独立的程序,有很多的节点同时运行,每个节点处理一部分数据。reduce阶段是一个独立的程序,有很多节点同时运行,每个节点处理一部分数据。

原理图:
在这里插入图片描述
shuffle图:
在这里插入图片描述

3.Yarn

主从结构,主节点最多可以有两个,为ResourceManager;从节点为ResourceManager

  • ResourceManager:

     -处理客户端的请求
     -监控NodeManger
     -启动或监控ApplicationMaster
     -资源的分配与调度
    
  • NodeManager:

      -管理单个节点的资源
      -处理来自ResourceManager的命令
      -处理来自AppalicationMaster的命令
    
  • ApplicationMaster"

      -负责数据的切分
      -为应用程序申请资源并分配给内部任务
      -任务的监控与容错
    
  • Container:

      Container是YARN中资源的抽象,它封装了某个节点上的多维度资源,
      如内存、CPU、磁盘、网络等
    
  • 9
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值