Apache Hadoop 核心模块 YARN

本贴最后更新于 2674 天前,其中的信息可能已经水流花落

Apache Hadoop YARN 简介

  • Yarn 作为 Job 的管理和资源调度器,他的基本思想是把资源调度和作业监控分配到单独的守护进程中去。这一想法由一个全局的 RecourseManager(RM)和每个 APP 的 ApplicationMaster(AM)实现。同样 RM 和 AM 是主从架构,RM 和 NameNode 位于同一 Node,AM 则位于 DataNode.
  • 应用程序要么是单一的作业,要么是作业集的 DAG
  • RecourseManager 负责所有的资源的调度分配,负责给和每个 APP 的 ApplicationMaster 分配资源和容器 Container 用于任务的执行,并监测他们的资源(CPU、内存、磁盘、网络)使用情况
  • c8ee0203bb214a2f9e28486940f6d439-image.png
  • ResourceManager 主要有两部分组成: Scheduler 和 ApplicationsManager

任务处理流程

Client 提交任务,RM 会在 NM 中启动一个 AM,AM 根据 job 应用信息向 RM 请求资源,RM 分配资源 Container 给每个 AM,AM 把 container 分配给 task 作为容器执行。AM 会监控任务的执行情况,最终会向 RM 响应结果。

Scheduler

Scheduler 负责将资源分配给各个运行的应用程序 APP,而这些应用程序受制于容量、队列等常见的约束。Scheduler 是纯粹的调度,在某种意义上,它不监视或跟踪应用程序的状态。而且,由于应用程序故障或硬件故障,它不提供重新启动失败任务的保证。调度器根据应用程序的资源需求执行调度功能;它基于一个抽象的资源容器 Container,这个容器包含内存、CPU、磁盘、网络等资源

ApplicationsManager

ApplicationsManager 主要负责接受作业的提交; 为要执行的应用 APP(提交的作业应用)指定一个特定的容器(ApplicationMaster); 任务执行失败时负责重启 ApplicationMaster container

  • Yarn
    11 引用 • 5 回帖
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    86 引用 • 122 回帖 • 625 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
rzx
此生最怕深情被辜负,最怕兄弟成陌路。对世界充满善意,同时又充满深深的恨意,我渴望天降甘霖福泽众生,又渴望灭世洪水重创世纪。 广州