Yarn 介绍和使用

发布于 2024-07-03 02:01:24 字数 2249 浏览 47 评论 0

Yarn 的全称是 Yet Another Resource Negotiator,意思是另一种资源调度器,负责资源管理和调度

为什么会有 yarn

Hadoop1.0 中,MapReduce 的 JobTracker 负责了太多的工作,包括资源调度,管理众多的 TaskTracker 等工作。这样的架构是不合理的,于是 Hadoop 在 1.0 到 2.0 的升级过程中,便将 JobTracker 的资源调度工作独立了出来,而这一改动,直接让 Hadoop 成为大数据中最稳固的那一块基石。而这个独立出来的资源管理框架,就是 Yarn。

Yarn 架构

Container

容器(Container)是 Yarn 对资源做的一层抽象.就像我们平时开发过程中,经常需要对底层一些东西进行封装,只提供给上层一个调用接口一样,Yarn 对资源的管理也是用到了这种思想.

  • 容器由 NodeManager 启动和管理,并被它所监控.
  • 容器被 ResourceManager 进行调度.

三个主要的组件

ResourceManager

ResourceManager(RM)从名字上我们就能知道这个组件是负责资源管理的,整个系统有且 只有一个 RM ,来负责资源的调度.它也包含了两个主要的组件: 定时调用器(Scheduler) 以及 应用管理器(ApplicationManager) .

  • 定时调度器(Scheduler):从本质上来说,定时调度器就是一种策略,或者说一种算法.当 Client 提交一个任务的时候,它会根据所需要的资源以及当前集群的资源状况进行分配.注意,它只负责向应用程序 分配资源 ,并不做监控以及应用程序的状态跟踪.
  • 应用管理器(ApplicationManager):应用管理器就是负责管理 Client 用户提交的应用.上面不是说到定时调度器(Scheduler)不对用户提交的程序监控嘛,其实啊,监控应用的工作正是由应用管理器(ApplicationManager)完成的.

ApplicationMaster

每当 Client 提交一个 Application 时候,就会新建一个 ApplicationMaster.由这个 ApplicationMaster 去与 ResourceManager 申请容器资源,获得资源后会将要运行的程序发送到容器上启动,然后进行分布式计算.(大数据分布式计算的思路是数据不动程序动,数据量太大移动成本太高,反而移动代码更加容易).

NodeManager

NodeManager 是 ResourceManager 在每台机器的上代理,负责容器的管理,并监控他们的资源使用情况(cpu,内存,磁盘及网络等),以及向 ResourceManager/Scheduler 反馈这些资源使用报告.

向 Yarn 申请应用的流程

  • Client 向 Yarn 提交 Application,这里我们假设是一个 MapReduce 作业
  • ResourceManager 向 NodeManager 通信,为该 Application 分配第一个容器.并在这个容器中运行这个应用程序对应的 ApplicationMaster
  • ApplicationMaster 启动以后,对作业(也就是 Application) 进行拆分,拆分 task 出来,这些 task 可以运行在一个或多个容器中.然后向 ResourceManager 申请要运行程序的容器,并定时向 ResourceManager 发送心跳
  • 申请到容器后,ApplicationMaster 会去和容器对应的 NodeManager 通信,而后将作业分发到对应的 NodeManager 中的容器去运行,这里会将拆分后的 MapReduce 进行分发,对应容器中运行的可能是 Map 任务,也可能是 Reduce 任务
  • 容器中运行的任务会向 ApplicationMaster 发送心跳,汇报自身情况.当程序运行完成后, ApplicationMaster 再向 ResourceManager 注销并释放容器资源

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

蒗幽

暂无简介

文章
评论
27 人气
更多

推荐作者

李珊平

文章 0 评论 0

Quxin

文章 0 评论 0

范无咎

文章 0 评论 0

github_ZOJ2N8YxBm

文章 0 评论 0

若言

文章 0 评论 0

南…巷孤猫

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文