YARN基本原理和YARN工作流程

本文详细介绍了YARN(Yet Another Resource Negotiator)的基本原理和工作流程,对比了MapReduce 1.0的旧架构问题,强调了YARN如何解决这些问题。在YARN中,ResourceManager负责资源管理,NodeManager监控节点资源,ApplicationMaster管理应用程序,而Container是资源分配的基本单位。此外,文章还探讨了YARN的调度器,包括FIFO、Capacity和Fair调度器的原理,并提到了配置文件位置及YARN的故障恢复机制。
摘要由CSDN通过智能技术生成

Mapreduce 1.0 旧的MapReduce架构

旧的MapReduce架构
MapReduce架构

基本概念
  • JobTracker: 负责资源管理,跟踪资源消耗和可用性,作业生命周期管理(调度作业任务,跟踪进度,为任务提供容错)
  • TaskTracker: 加载或关闭任务,定时报告认为状态
旧的架构的问题
  1. JobTracker是MapReduce的集中处理点,存在单点故障
  2. JobTracker完成了太多的任务,造成了过多的资源消耗,当MapReduce job 非常多的时候,会造成很大的内存开销。这也是业界普遍总结出老Hadoop的MapReduce只能支持4000 节点主机的上限
  3. 在TaskTracker端,以map/reduce task的数目作为资源的表示过于简单,没有考虑到cpu/ 内存的占用情况,如果两个大内存消耗的task被调度到了一块,很容易出现OOM
  4. 在TaskTracker端,把资源强制划分为map task slot和reduce task slot, 如果当系统中只有map task或者只有reduce task的时候,会造成资源的浪费,也就集群资源利用的问题

Hadoop2.0 YARN 架构

在这里插入图片描述
在这里插入图片描述
在Hadoop2.0中, YARN负责管理MapReduce中的资源(内存, CPU等)并且将其打包成Container. 这样可以精简MapReduce, 使之专注于其擅长的数据处理任务, 将无需考虑资源调度. YARN会管理集群中所有机器的可用计算资源. 基于这些资源YARN会调度应用(比如MapReduce)发来的资源请求, 然后YARN会通过分配Container来给每个应用提供处理能力

基本概念
ResourceManager
  • 负责整个集群的资源管理和分配,是一个全局的资源管理系统。
  • NodeManager 以心跳的方式向 ResourceManager 汇报资源使用情况(目前主要是 CPU 和
    内存的使用情况)。RM 只接受 NM 的资源回报信息,对于具
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值