YARN概述

YARN产生背景

运维成本

如果采用“一个框架一个集群”的模式,则可能需要多个管理员管理这些集群,进而增加运维成本,而共享模
式通常需要少数管理员即可完成多个框架的统一管理。

数据共享

随着数据量的暴增,跨集群间的数据移动不仅需花费更长的时间,且硬件成本也会大大增加,而共享集群模式可让多种框架共享数据和硬件资源,将大大减少数据移动带来的成本。

计算资源共享

离线批处理任务主要集中在凌晨执行,资源使用有明显的波峰波谷
交互式数据分析,资源使用主要集中在工作日的上班时段
实时流计算、图计算、数据模型训练等各种类型的计算任务需要不同的CPU、内存等计算资源

YARN主要功能

1、集群资源管理系统
2、负责集群的统一管理和调度
3、与客户端交互,处理客户

YARN基本结构

YARN结构.jpg

YARN核心组件

ResourceManager

  • 整个集群只有一个Master
  • 处理客户端请求
  • 启动/监控ApplicationMaster
  • 监控NodeManager
  • 资源分配和调度

NodeManager

  • 集群中存在多个,每个节点一个,和Datanode部署在同一机器中
  • 单个节点上的资源监控和管理
  • 定时向ResourceManager汇报本机的资源使用情况
  • 处理来自ResourceManager的请求,为作业的执行分配Container
  • 处理来自ApplicationMaster的请求,启动和停止Container

ApplicationMaster

  • 每个应用程序只有一个,负责应用程序的管理,资源申请和任务调度。
  • 与ResourceManager协商为应用程序申请资源
  • 与NodeManager通信启动/停止任务
  • 监控任务运行状态和失败处理

Container

  • 任务运行环境的抽象,只有在分配任务的时候才会抽象出一个Container。
  • 描述一系列信息
  • 任务运行资源(节点、内存、 CPU)
  • 任务启动命令
  • 任务运行环境

YARN容错性

ResourceManager

基于Zookeeper实现高可用

NodeManager(简称NM)

NM故障将导致运行在该节点的任务失败,任务失败后, RM将失败任务通知对应的AM
AM决定如何处理失败的任务

ApplicationMaster(简称AM)

AM失败后,由RM负责重启
AM会保存已经运行完成的Task,重启后无需重新运行

未完待续。。。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容