Hadoop系列 (四):Yarn详细介绍

文章目录

    • Hadoop系列文章
    • Yarn简介
    • Yarn基本架构
    • Yarn组件介绍
      • ResourceManager
      • NodeManager
      • ApplicationMaster
      • Container
    • Yarn运行原理
    • Yarn-HA
      • 工作机制
        • ResourceManager
        • RMStateStore
        • NodeManager
      • RM故障转移
        • 手动故障切换转移
        • 自动故障转义
      • RM故障恢复
      • Yarn-HA集群配置
        • 环境准备
        • 规划集群
        • JournalNode简介
        • 配置文件
        • 启动HDFS
        • 启动Yarn

Hadoop系列文章

Hadoop系列 (一):在CentOS中搭建hadoop环境(伪分布式)

Hadoop系列 (二):完全分布式搭建(腾讯云服务器+阿里云服务器)

Hadoop系列 (三):HDFS详细介绍

Hadoop系列 (四):Yarn详细介绍

Hadoop系列 (五):MapReduce详细介绍

Hadoop系列 (六):Spark搭建

Hadoop系列 (七):ZooKeeper详细介绍

Yarn简介

Yarn 的全称是 Yet Another Resource Negotiator,意思是“另一种资源调度器”。Hadoop2.0版本新引入的资源管理系统,直接从MapReduce演化而来。

在早期Hadoop1.0 的架构中, MapReduce 的jobTracker 担负起了太多的责任了,接收任务是它,资源调度是它,监控 TaskTracker 运行情况还是它。这样实现的好处是比较简单,但相对的,就容易出现一些问题,比如常见的单点故障问题。

要解决这些问题,只能将jobTracker进行拆分,将其中部分功能拆解出来。于是 Hadoop 在 1.0 到 2.0 的升级过程中,便将 JobTracker 的资源调度工作独立了出来。而这个独立出来的资源管理框架,就是 Yarn

Yarn的核心思想是将MP1中JobTracker资源管理和Job的调度/监控进行分离。分别由ResourceManagerApplicationMaster进程来实现。

  1. ResourceManager:负责整个集群的资源管理和调度。
  2. ApplicationMaster:负责应用程序相关的事务,比如任务调度、任务监控和容错等。

Yarn的出现,使得多个计算框架可以运行在一个集群当中。

  1. 每个应用程序对应一个ApplicationMaster。

  2. 目前可以支持多种计算框架运行在Yarn上面比如MapReduce、Storm、Spark、Flink

Yarn基本架构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pmEBGrkp-1631867198065)(C:\Users\EricR\OneDrive\Bigdata\picture\Hadoop\Yarn\01-Yarn基本架构.png)]

从Yarn的架构图来看,它主要由ResourceManager和ApplicationMasterNodeManagerContainer等组件组成。

Yarn组件介绍

ResourceManager

Yarn分层结构的本质是ResourceManager(RM)。这个实体控制整个集群,并管理应用程序计算资源的分配。

Resource Manager由SchedulerApplicatio Manager组成:

  1. Scheduler:调度器,本质上是一种策略。根据节点的容量、队列情况,为Application分配资源。
  2. ApplicationManager:应用程序管理器,负责管理Client用户提交的应用。接受用户提交的请求,在节点中启动ApplicationMaster,并监控ApplicationMaster的状态、进行必要的重启。

ResourceManager与 ApplicationMaster 一起分配资源,与NodeManager 一起启动和监视它们的基础应用程序。ApplicationMaster 承担了以前的 TaskTracker 的一些角色,ResourceManager 承担了 JobTracker 的角色。

ResourceManager的作用可以总结为:

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

NodeManager

NodeManager(NM)管理一个Yarn集群中的每个节点。在每一个节点上都有一个NodeManager,作为代理监控节点的资源使用情况(cpu, memory, disk, network),并向Resource Manager上报节点状态。

NodeManager的作用可以总结为:

  1. 单个节点上的资源管理
  2. 处理来自ResourceManager上的命令
  3. 处理来自ApplicationMaster上的命令

ApplicationMaster

ApplicationMaster(AM&#x

你可能感兴趣的:(#,hadoop,hadoop,big,data)