过程
(1)提交程序,申请stage,将资源提交到stage所在的hdfs上面
(2)程序资源提交完毕后,申请运行mrAppMaster。
(3)RM将用户的请求初始化成一个task。
(4)该NodeManager创建容器Container,并产生MRAppmaster。Container从HDFS上拷贝资源到本地。
(5)MRAppmaster向RM 申请运行maptask资源。因为有切片文件知道,启动多少个maptask。
(6)MR向两个接收到任务的NodeManager发送程序启动脚本,这两个NodeManager分别启动maptask,maptask对数据分区排序。
(7)MrAppMaster等待所有maptask运行完毕后,向RM申请容器,运行reduce task。
调度策略:
FIFO、Capacity Scheduler和Fair Scheduler。
FIFO:一个队列,先来先到
Capacity Scheduler:多个队列,比较运行的task与分得资源比值,比值越小越优先。
同样的任务数目分到的资源更多,赶快执行完毕
Fair Scheduler:多用户多队列;优先级分配资源,同一个队列job缺额资源越大,越先执行。
先让得不到资源的先去执行吧
网友评论