一.Yarn简介
在古老的 Hadoop1.0 中,MapReduce 的 JobTracker 负责了太多的工作,包括资源调度,管理众多的 TaskTracker 等工作。这自然是不合理的,于是 Hadoop 在 1.0 到 2.0 的升级过程中,便将 JobTracker 的资源调度工作独立了出来,而这一改动,直接让 Hadoop 成为大数据中最稳固的那一块基石。,而这个独立出来的资源管理框架,就是 Yarn 。
在详细介绍 Yarn 之前,我们先简单聊聊 Yarn ,Yarn 的全称是 ** Yet Another Resource Negotiator**,意思是“另一种资源调度器”,这种命名和“有间客栈”这种可谓是异曲同工之妙。这里多说一句,以前 Java 有一个项目编译工具,叫做 Ant,他的命名也是类似的,叫做 “Another Neat Tool”的缩写,翻译过来是”另一种整理工具“。
Yarn原理图:
image.png
二.Yarn基本服务组件
YARN 总体上是 master/slave 结构,在整个资源管理框架中,ResourceManager 为 master,NodeManager 是 slave。
YARN的基本组成结构,YARN 主要由 ResourceManager、NodeManager、ApplicationMaster 和 Container 等几个组件构成。
ResourceManager是Master上一个独立运行的进程,负责集群统一的资源管理、调度、分配等等;
NodeManager是Slave上一个独立运行的进程,负责上报节点的状态;
ApplicationMaster相当于这个Application的监护人和管理者,负责监控、管理这个Application的所有Attempt在cluster中各个节点上的具体运行,同时负责向Yarn ResourceManager申请资源、返还资源等;
Container是yarn中分配资源的一个单位,包涵内存、CPU等等资源,YARN以Container为单位分配资源;
CDH上Yarn的组件信息:
image.png
jobhistory组件详细的记录了各类job运行的日志,需要查找报错信息一般是这边查看
image.png三.Yarn工作的过程
Application在Yarn中的执行过程,整个执行过程可以总结为三步:
- 应用程序提交
- 启动应用的ApplicationMaster实例
- ApplicationMaster 实例管理应用程序的执行
参考
1.Hadoop权威指南
2.https://zhuanlan.zhihu.com/p/54192454?utm_source=qq
3.https://www.jianshu.com/p/f50e85bdb9ce
4.https://www.cnblogs.com/yehuili/p/9946010.html
网友评论