资源管理框架YARN

一、 YARN 产生背景

MapReduce 1.0的缺陷

  • JobTracker存在单点故障风险(ZooKeeper多设节点)
  • 资源分配只考虑MapReduce任务数量,不考虑任务需要的CPU、内存,TaskTracker所在节点容易内存溢出
  • 资源划分不灵活(强制等量划分为slot,包括Map slot和Reduce slot)

Hadoop 2.0

  • HADOOP 2.0 在HDFS2上加个资源管理,所有平台都向YARN索要资源,可以统一分配资源
  • YARN 设计思路:资源管理与计算相分离
  • YARN 是独立出来的资源管理框架

二、 YARN 体系结构

  • 计算都交给ApplicationMaster / Container

NodeManager(只是监控)

  • 监控所在节点每个Container的资源使用情况,健康状况
  • 主要负责管理抽象的容器,只处理与容器相关的事情,而不具体负责每个任务(Map任务或Reduce任务)容器本身的任务

ApplicationMaster

Container

  • 作为动态资源分配单位

三、 YARN 工作流程

  • 用户编写客户端应用程序,向YARN提交应用程序
    YARN

YARN 集群部署

  • 多租户:一个YARN 框架下部署多个计算系统

    • 可以左边运行MapReduce,右边运行Spark
  • 之前一个系统一个集群:为了避免干扰,把内部的服务器拆分,分别部署不同的系统

    • 集群资源利用率低
    • 维护代价高
  • 多个系统一个集群:YARN

YARN 发展目标

  • 一个框架多个系统:在一个集群上部署一个统一的资源调度管理框架YARN,在YARN之上可以部署其他各种计算系统

相关文章:

猜你喜欢
  • 2022-12-23
  • 2021-11-07
  • 2021-10-25
相关资源
相似解决方案