资源调度框架YARN

hadoop1.x中MapReduce存在的问题:1.单点2.节点压力大

YARN:Yet Another Resource Negotiator(另外一种资源协调者)
是一个通用的资源管理系统,可为上层应用提供统一的资源管理和调度。
它的引入为集群在利用率,资源统一管理和数据共享等方面带来了巨大的好处

YARN架构:

    核心组件:
    ResourceManager
    NodeManager
    ApplicationMaster
    Container

master和slaves结构:一个ResourceManager对应多个NodeManager。

ResourceManager在整个集群中处于活跃状态的只有一个,负责集群资源的统一管理和调度

  1. 处理客户端发起的请求(启动/杀死应用程序)
  2. 启动/监控ApplcationMaster,如果AM挂了,RM将会在另一个节点上启动AM
  3. RM要监控NodeManager,
  4. 整个系统的资源分配和调度

NodeManager:整个集群中有多个,负责自己节点的资源使用和管理

  1. 定时向RM汇报本节点上资源使用情况和各个Container的运行情况
  2. 接受和处理来自RM的关于Container启动和停止的各种命令
  3. 处理来自AM的命令
  4. 本节点上的资源管理和任务管理

ApplicationMaster:每个应用程序一个AM,负责应用程序的管理。

  1. 数据的切分
  2. 为应用程序向RM申请资源(Container),分配内部任务
  3. 与NM通信以启动/停止任务,Task都是运行在Container中的
  4. Task的容错

Container:对任务运行环境的封装,CPU,内存等这些资源以及环境变量、启停命令等等与任务相关的信息

Yarn的资源调度(以mapreduce作业提交为例)

  1. 客户端提交作业请求
  2. ResourceManager响应一个Application ID
  3. 上传作业(jar包)到共享文件系统(HDFS)
  4. 根据NodeManager,RM分配资源
  5. NodeManager启动application master
  6. 启动任务(任务的进程叫yarnChild,资源都会本地化)
  7. 结束

这里写图片描述

总结:
在Hadoop2中有了yarn之后,我们可以将多种不同类型的作业(MR, Spark,Tez)都运行在一个集群中,统一由yarn来进行调度,充分利用集群的资源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值