Apache Hadoop YARN (官网文章)

yarn的根本目标是为了分散资源管理还有任务调度以及监视功能到分离的守护进程。这个目的是拥有一个全局ResourceManager 和每个应用程序。 应用程序可以是单个作业,也可以是作业的DAG。

resource managernode manager 构成了数据计算框架。 resource manager 拥有最大的权利去决定每个应用所能拥有的系统资源。 Node Manager 是每个机器框架代理,负责容器,监视他们的资源使用(cpu,memory,disk,network) 并报告给ResourceManager、Scheduler(调度程序)。

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

ResourceManager 有两大主要的组件:Scheduler(调度器)和ApplicationMaster

Scheduler  是负责分配不同的资源给各种各样正在运行的应用程序,以熟悉能力和队列的约束。Scheduler在感官上是一种纯粹的调度器,因为他没有监视和追踪应用程序状态的表现。他不提供保证能让那些因为程序失败和硬件问题失败重新启动,它履行他的调度能力基于应用程序的资源需求。它是基于资源Container的抽象概念,它包含内存,cpu,磁盘,网络等元素。

调度程序有一个可插入策略,负责分配集群的资源到不同的队列和应用程序中,当前的调度程序将是一些程序的示例。

ApplicationMaster 负责接受任务提交,协商第一个容器以执行特定应用程序和提供重启失败的ApplicationMaster 的服务,每个应用程序ApplocationMaster 有义务从调度器那里协商适当的资源,跟踪他们的状态并且监听进度。

Hadoop 2.x的mapreduce 维护API与先前稳定版本的兼容性,这意味着所有的mapreduce作业都应该在yarn上保持不变。

yarn支持资源预定的概念,(通过ReservationSystem),一个组件允许用户去指定资源时间和暂时约束(比如:deadline),以及后备资源的配置文件,储备一些资源去确保可能会有的重要作业执行,(这句太难了)

YARN supports the notion of resource reservation via the ReservationSystem, a component that allows users to specify a profile of resources over-time and temporal constraints (e.g., deadlines), and reserve resources to ensure the predictable execution of important jobs.The ReservationSystem tracks resources over-time, performs admission control for reservations, and dynamically instruct the underlying scheduler to ensure that the reservation is fullfilled

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

为了测量yarn是否超过了成千上万的节点,yarn支持联合的概念(通过yarn Federation 特征),联合允许透明地将多个群集连接在一起,并且让他们表现得想一个大集群一样。 这可以用来取得大的联合,并且允许多个独立的集群去一起为一些很大的作业工作,或者用于具有跨所有工作的容量的租户。

猜你喜欢

转载自blog.csdn.net/qq_40309183/article/details/83145757