在上一篇文章中,我们了解了MapReduce。在此,我们将重点介绍 YARN,它增强了 Hadoop 的强大功能。YARN 不是 Mapreduce 的竞争对手,而是帮助更好地执行 Hadoop 的框架。它也被称为 Hadoop 2。

Hadoop 1.0 vs Hadoop 2.0

哈多普 1.0 vs 哈多普 2.0

YARN(另一个资源谈判者)

MapReduce范例中存在一些重大问题,例如作业控制流的集中处理以及编程模型与管理基础结构的紧密耦合。使用 Yarn,Hadoop 已可用于第三方插件和其他数据源进行处理。它将工作跟踪器、资源管理和作业调度/监视两个主要功能拆分为单独的守护进程。YARN 的主要组成部分是:

Single vs Multi-Purpose Platform

单一与多用途平台

资源管理器

它负责群集资源的分配,并决定向应用程序分配可用资源。它使群集中的所有资源都处于使用中,从而提高了系统利用率。资源管理器中的计划程序负责在各种应用程序之间分区群集。此处的应用程序管理器负责接受 ob 提交,并在发生故障时提供服务重新启动。

您可能还喜欢:
YARN 上的 Apache 火花 – 性能和瓶颈

节点管理器

节点管理器根据资源管理器给出的说明工作。它管理给定节点上的用户作业和工作流。它通过发送其状态的定期检测信号来保持与资源管理器的最新联系。它还监视容器 CPU 使用情况并执行日志管理。

YARN Architecture

YARN 架构

应用程序主机

这是处理运行作业的本机应用程序环境。应用程序主机的主要功能是从资源管理器协商资源,并与节点管理器一起执行任务。它还负责应用程序中的故障管理

容器

这是具有固定资源 RAM、CPU 内核等的物理单元。容器使用容器生命周期进行管理。此记录包含环境变量映射、存储在远程可访问存储中的依赖项、安全令牌、Node Manager 服务的有效负载以及创建进程所需的命令。它授予应用程序在特定主机上使用特定资源量(内存、CPU 等)的权限。

YARN 工作流程

  • 客户提交申请。

  • 资源管理器分配资源(容器)。

  • 应用程序管理器在资源管理器中注册。

  • 应用程序管理器要求资源管理器提供所需的资源。

  • 应用程序管理器通知节点管理器启动容器。

  • 应用程序代码在容器中执行。

  • 应用程序主机将应用程序诊断发送到资源管理器/应用程序管理器,以监视应用程序的状态。

  • 应用程序管理器从资源管理器中删除条目。

进一步阅读

Comments are closed.