大数据 - 框架 - Hadoop

 

Hadoop技术生态的组成部分:

  • Hadoop Common:支持Hadoop其他模块的通用工具
  • HDFS:分布式文件系统,提供了高吞吐量的数据访问(最初始模块之一)
  • YARN:作业调度和资源管理的框架
  • MapReduce:基于YARN的大数据分布式计算框架(最初始模块之一)

 

 

HDFS

利用多个商业硬件构成存储集群,利用namenode进行数据的存储控制,具有支持超大文件、存储灵活、可靠性高等特定,面对大量数据存储的时候,能够高效地工作。(但在处理大量小数据、需要进行低延迟数据访问和需要多用户访问写入等场景下,任存在不足。)其主要的组件如下:

    • Namenode: 管理者,负责文件系统的命名,记录所有文件和目录。同时,它还负责临时保存块的位置信息。
    • Datanode: 工作者,是文件系统的工作节点,根据需要存储并检索数据库,定期向namenode发送存储块,namenode则负责记录如何重建文件。

当通过文件系统接口访问数据,其实质是在于namenode和datanode进行交互,namenode像是大脑对神经的反馈进行综合处理,datanode则像是末梢神经。

 

 

MapReduce

  • 编程模型:Map阶段、Reduce阶段
  • 数据处理引擎:MapTask、ReduceTask
  • 运行时环境分两种:
    • (MR1): JobTracker(资源管理和作业控制)和TaskTracker(接受JT命令并具体执行)
    • (MR2): 是运行于YARN之上的计算框架,YARN(资源管理与调度)和ApplicationMaster(作业控制)。

 

 

YARN

  • 基本构造:
    • ResourceManager:全局的资源管理器,负责整个集群的资源管理、分配与调度。
    • Scheduler(调度器),纯调度器,默认下是Fair Scheduler
    • NodeManager:对每一个slave上的资源和任务做管理
      • 1) 定时的向RM汇报HearBeat(资源的使用情况和Container的运行状态)
      • 2) 接受来自AM的启动/停止的请求
    • Container:资源分配单位(MRv1中Slot),动态分配。
    • ApplicationMaster:每个APP都会包含一个AM,AM的功能包括:
      • 1) 向RM申请资源(用Container资源抽象)
      • 2) 将任务做进一步的分配
      • 3) 与NM通信启动/停止任务
      • 4) 跟踪每一个Task的运行状态(包括Failed后的操作)
  • 运行模式:

 

 

 

参考:

 

posted @ 2021-03-07 15:56  划水De雁小明  阅读(182)  评论(0编辑  收藏  举报