1 client端请求任务之后,与resourcemanager通信提交任务。
2 resourcemanager会有一个响应,分配一个jobid 以及一个hdfs目录
.../staging/jobid
3 client将jar包上传wc.jar job.xml 以及分片的信息到hdfs目录
4 client通知resourcemanager 上传完成
5 recourcemanager 根据分片的信息创建任务(每一个分片一个任务),并添 加到一个任务队列
6 resourcemanager 在随机一个nodemanager启动一个mrappmaster.
7 mrappmaster与mrappmaster通信,取出任务,申请资源
8 resourcemanager 返回资源信息等mrappmaster中解析收到的信息在解析文件中指定的nodemanager中创建容器(存放资源)建立maptask
9 循环56步,直到任务队列为空。
10 mrappmaster是监控task的,maptask与mrappmaster通信.上报task状态
11 所有map task 执行完成,与resourcemanager通信,map完成计算释放资源,并且申请运行reduce task 的资源
12 resourcemanager为reduce task 分配容器资源。
13 nodemanager 中的reduce task也需要与mrappmaster通信
14 reduce task将结果写入到hdfs中。
注意:通常情况下一个nodemanager和一个datanode是在同一个节点上面
网友评论