Hadoop-Yarn框架
分类:
文章
•
2023-12-19 09:06:04
Yarm框架
- ResourceManager :分配节点资源进行任务执行的管理者
- NodeManager:内部会分配一个容器去执行ResourceManager分配的任务
job提交和分配机制
- Hadoop在集群的某个节点(客户端)上执行作业的命令:hadoop jar xxxx ,这时候会启动一个RunJar进程,向ResourceManager申请:我需要执行job
- ResourceManager会返回staging_dir 和 此次执行的jobID
- 客户端会将此次任务代码、资源上传到HDFS中的staging_dir
- 再像ResourceManager汇报提交的结果
- ResourceManager会将此次的job加入任务队列(可能不止一个客户端提交了job)
- ResourceManager分配的NodeManager领取任务,就是哪几个NodeManager负责执行此次job
- NodeManager会分配执行本次任务的容器资源
- ResourceManager会启动分配在某个NodeManager上的 xxAppMaster主进程
- 由xxAppMaster负责启动、监控 Map、Reduce程序,以及Map、Reduce之间数据的调度
- 等到 任务执行完,xxAppMaster会向ResourceManager注销自己,然后将所有的分配此次job的资源全部回收

Yarn框架的优点
- 将集群资源分配和集群的运算分离,是的其他运算框架(spark、storm等)也可以在Yarn集群上运行,只需要实现一个AppMaster类就可以