Yarn知识点整理
Yarn是一个资源调度平台,负责为计算框架提供服务器运算资源,相当于一个分布式操作系统平台,而MapReduce相当于应用程序。Yarn在Hadoop2之后引入MapReduce.
基本架构
- ResourceManager:
- 处理客户端请求
- 监控NodeManager状态
- 启动和监控ApplicationManager
- 资源的分配与调度
- NodeManager:
- 管理单个节点上的资源
- 处理来自ResourceManager的命令
- 处理来自ApplicationManager的命令
- ApplicationManager:
- 负责数据切分
- 为应用程序申请资源并分配给内部的任务
- 任务的监控与容错
- Container:
- Yarn资源的抽象,封装了节点的多维度资源,如内存、CPU、磁盘、网络等
工作机制
- Mr程序提交到MapReduce客户端所在节点
- MapReduce客户端的
YarnRunner
类向ResourceManager申请一个Application - ResourceManager将Mr程序的资源路径返回给
YarnRunner
- MapReduce客户端将运行Mr程序所需资源提交到HD