Hadoop学习之路(十 一):深入理解Hadoop三大核心组件之YARN

本文详细介绍了Apache Hadoop YARN,作为Hadoop三大核心组件之一,YARN负责集群资源管理。文章阐述了YARN的基本概念,核心进程包括ResourceManager、NodeManager、ApplicationMaster和Container,以及YARN与MapReduce1的区别。此外,还讨论了YARN的三种调度器:FIFO、容量和公平调度器,强调了它们在资源分配和公平性上的不同策略。最后,文中提到YARN在生产环境中的重要性,并鼓励读者进一步探索Hadoop的其他组件。
摘要由CSDN通过智能技术生成

一、YARN的基本概述

  • Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是Hadoop三大核心组件之一,承担着Hadoop集群的资源管理重任,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
  • YARN在Hadoop2.x后被引入,一开始只是为了改善Hadoop1.x中MapReduce程序的调用实现,但是它具备足够的通用性,同样可以支持其他的分布式计算模型,换言之,其他的分布式运算框架可以运行在YARN之上,接收YARN的调度,而YARN向那些计算框架提供高级API来调用而隐藏了资源管理的细节,比如常用的Spark就可以运行在YARN上,这就是Spark On YARN的Saprk运行模式。通过YARN作为桥梁Hadoop可以与其他大数据框架进行交互:
    在这里插入图片描述

二、YARN的核心进程

1.ResourceManager
  • ResourceManager是YARN的Master,整个集群有且只有一个工作的ResourceManager,负责整个系统的资源管理和分配,包括处理客户端请求、启动/监控 ApplicationMaster、监控 NodeManager、资源的分配与调度。它主要由两个组件构成:调度器和应用程序管理器。
    (1). 调度器(Scheduler),负责根据已有的系统资源,比如内存、磁盘空间、CPU核数等等和提交的资源申请请求,将资源以YARN中的一个抽象Container,分配给各个正在运行的应用程序,值得注意的是,调度器仅仅负责资源的分配,不负责任何与具体应用程序相关的工作,比如不负责监控或者跟踪应用的执行状态等。
    (2).应用程序管理器(Applications Manager,ASM),应用程序管理器负责接收各种分布式运算job的请求,并为其分配一个Container来启动对应的ApplicationMaster,监控 ApplicationMaster 运行状态并在失败时重新启动它等等。
2.NodeManager
  • NodeManager管理YARN集群中的每个节点。NodeManager提供针对集群中每个节点的服务,从监督对一个容器的终生管理到监视资源和跟踪节点健康。主要实现以下功能:
    (1).管理当前节点的资源。
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值