YARN工作流程总结
yarn 工作流程
1.client 向resourceManager申请提交一个Application
2.resourceManager返回资源提交的路径给client
3.client 提交job运行所需要的资源文件到路径
4.client 资源提交完毕后,向resourceManager申请运行AppMaster
5.resourceManager 将client的请求初始化成一个task(FIFO调度策略队列:先进先出)
6.nodemanager 领取 resourceManager 发送的task任务
7.nodemanager 创建AppMaster container (cpu+内存) 同时 AppMaster container 下载job资源到本地
8.AppMaster 向resourceManager申请运行maptask的容器
9.nodemanager 领取 resourceManager 发送的创建容器任务,创建容器container
10.AppMaster 发送程序启动脚本 到各nodemanager 的container
11.AppMaster 向resourceManager申请运行reducetask的容器
12.reduce 向 map 端获取相应分区的数据
13.application 运行完毕后,AppMaster 会向resourceManager 注销自己
yarn:资源调度系统(运算资源:运算程序jar、配置文件、cpu、内存、IO)
只负责程序运行所需资源的分配回收等调度任务,与应用程序内部运作机制完全无关