Hadoop3.2.0 YARN 简介

YARN的基本思想是将资源管理和作业调度/监视的功能分解为单独的守护进程。我们的想法是拥有一个全局ResourceManager(RM)和每个应用程序ApplicationMaster(AM)。应用程序可以是单个作业,也可以是作业的DAG。

ResourceManager和NodeManager构成了数据计算框架。ResourceManager是在系统中的所有应用程序之间仲裁资源的最终权限。NodeManager是每台机器框架代理,负责容器,监视其资源使用情况(CPU,内存,磁盘,网络)并将其报告给ResourceManager / Scheduler。

每个应用程序ApplicationMaster实际上是一个特定于框架的库,其任务是协调来自ResourceManager的资源,并与NodeManager一起执行和监视任务。

 

 

ResourceManager有两个主要组件:Scheduler和ApplicationsManager。

调度程序负责根据熟悉的容量,队列等约束将资源分配给各种正在运行的应用程序。调度程序是纯调度程序,因为它不执行应用程序状态的监视或跟踪。此外,由于应用程序故障或硬件故障,它无法保证重新启动失败的任务。调度程序根据应用程序的资源需求执行其调度功能; 它是基于资源Container的抽象概念,它包含内存,CPU,磁盘,网络等元素。

调度程序具有可插入策略,该策略负责在各种队列,应用程序等之间对集群资源进行分区。当前的调度程序(如CapacitySchedulerFairScheduler)将是插件的一些示例。

ApplicationsManager负责接受作业提交,协商第一个容器以执行特定于应用程序的ApplicationMaster,并提供在失败时重新启动ApplicationMaster容器的服务。每个应用程序ApplicationMaster负责从调度程序协商适当的资源容器,跟踪其状态并监视进度。

hadoop-2.x中的MapReduce维护API与先前稳定版本(hadoop-1.x)的兼容性。这意味着只需重新编译,所有MapReduce作业仍应在YARN之上保持不变。

YARN支持的概念,资源预留通过ReservationSystem,即允许用户在指定时间资源和时间的限制(例如,截止日期),以及后备资源的配置文件,以确保重要jobs.The可预见的执行组件ReservationSystem跟踪资源超时,执行预留的准入控制,并动态指示基础调度程序确保预留已满。

为了将YARN扩展到超过几千个节点,YARN 通过YARN Federation功能支持Federation的概念。联合允许透明地将多个纱线(子)群集连接在一起,并使它们显示为单个大规模群集。这可以用于实现更大规模,和/或允许多个独立集群一起用于非常大的工作,或者用于具有跨所有工作的容量的租户。

 

原文链接: https://hadoop.apache.org/docs/r3.2.0/

展开阅读全文

没有更多推荐了,返回首页