目录
[一、YARN & Reduce](#一、YARN & Reduce)
[二、分布式资源调度 - YARN](#二、分布式资源调度 - YARN)
一、YARN & Reduce
MapReduce是基于YARN运行的,即没有YARN "无法" 运行MapReduce程序。
二、分布式资源调度 - YARN
YARN(Yet Another Resource Negotiator)是Apache Hadoop生态系统中的一个组件,用于分布式资源调度和作业调度。它是Hadoop的第二代资源管理器,取代了旧版的MapReduce作业调度器。YARN的目标是使Hadoop能够支持更多类型的应用程序,并提供更好的资源管理和作业调度。
1、资源调度
什么是资源调度?我们为什么需要资源调度?
对于资源的利用,有规划、有管理的调度资源使用,是效率最高的方式
2、YARN的资源调度
YARN管控整个集群的资源进行调度,那么应用程序在运行时,就是在YARN的监管(管理)下去运行的。这就像:全部资源都是公司(YARN)的,由公司分配给个人(具体的程序)去使用。
比如,一个具体的MapReduce程序。
假设有一个MapReduce程序,分解了3个Map任务、1个Reduce任务,是如何在YARN的监管下运行的?
向YARN申请使用资源,YARN分配好资源后运行,空闲资源可供其他程序使用
总结
1、YARN是做什么的?
- YARN是Hadoop的一个组件
- 用以做集群的资源(内存、CPU等)调度
2、为什么需要资源调度
- 将资源统一管控进行分配可以提高资源利用率
3、程序如何在YARN内运行
- 程序向YARN申请所需资源
- YARN为程序分配所需资源供程序使用
4、MapReduce和YARN的关系
- YARN用来调度资源给MapReduce分配和管理运行资源
- 所以,MapReduce需要YARN才能执行