版权声明:有一种生活不去经历不知其中艰辛,有一种艰辛不去体会,不会知道其中快乐,有一种快乐,没有拥有不知其中纯粹 https://blog.csdn.net/wwwzydcom/article/details/83870099
-
客户端的应用程序 jar包 切片 配置文件
客户端申请一个application
RM返回一个application资源提交路径 以及application_id
-
提交job运行所需的资源
-
提交资源完毕,申请运行mrAppMaster
-
ResourceManager将用户的请求初始化为一个task
FIFO调度队列. 容量调度器 -
NodeManager 接受到task任务
-
NodeManager创建容器Container cpu 内存 IO —>序列化过程
-
开始下载job资源到本地
如果程序是多个mapTask -
再向ResourceManager申请运行maptask容器
-
领取到任务创建容器
NodeManager ----> Container (cpu,io) -
开始发动启动脚本,将多个MapTask同时开始工作
-
maptask YarnChild进程运行
放在磁盘上 -
ReduceTask开始工作,工作时候需要容器 向RM申请NM容器运行ReduceTask
-
Reduce向map获取相应分区的数据
-
程序运行完成后MR会向RM注销自己