mr1中jobtracker存在单点,功能较多的问题,负责资源管理调度和job的生命周期管理(task调度,跟踪task过程状态,task处理容错),这样当大量的任务需要处理时,单个jobtracker无论在内存还是在其他资源方面总存在瓶颈,在伸缩性、资源利用率、运行除mr的其他任务都会有限制
mrv2 yarn框架把资源调度和task管理监控分离开,由资源管理器NodeManager负责资源调度。每一个application由一个appMaster对task进行调度管理监控,并且可以监控appMaster的状态,有问题可以在其他节点重启
mrv1框架使用slot作为资源表示单位,并且map slot和reduce slot是分离的,这样资源不能共享,资源利用率不高,yarn使用节点的cpu、内存等资源作为资源表示单位,大大提高了资源利用率。
mrv1只支持批量的mr运算,mrv2还支持其他运算,比如实时流处理,mpi并行运算
resourceManager 主要接收客户端任务请求,接收和监控NodeManager的资源情况汇报,负责资源的分配和调度,启动和监控am
NodeManager 主要是节点上的资源管理 启动container运行task计算,上报资源,container情况给RM和任务处理情况个AM
application master:单个application的task管理和调度,向rm进行资源申请,向NM发出launch Container指令,接收NM的task处理状态信息。
job的处理工程:
1.client submit一个job到rm,进入rm的scheduler队列供调度
2.rm根据nm汇报的container的资源使用情况,请求一个合适的nm launch container,以启动运行AM
3.AM启动后,注册到RM,以使得client能够查到AM的信息,便于client直接和AM通讯
4.AM启动后,根据job相关的split的task情况,会和RM协商申请container资源
5.RM分配给AM container资源后,根据container的信息,向对应的NM请求launch container
6.NM启动container运行task,运行过程中向AM汇报进度状态信息,类似于mrv1中task的汇报,同时NM也会定时的向RM汇报container的使用情况
7.在application执行过程中,client可以和am通讯,获取application相关的进度和状态信息
8.在application完成后,AM通知RM clear自己的相关信息,并关闭,释放自己占用的container
mrv2 yarn框架把资源调度和task管理监控分离开,由资源管理器NodeManager负责资源调度。每一个application由一个appMaster对task进行调度管理监控,并且可以监控appMaster的状态,有问题可以在其他节点重启
mrv1框架使用slot作为资源表示单位,并且map slot和reduce slot是分离的,这样资源不能共享,资源利用率不高,yarn使用节点的cpu、内存等资源作为资源表示单位,大大提高了资源利用率。
mrv1只支持批量的mr运算,mrv2还支持其他运算,比如实时流处理,mpi并行运算
resourceManager 主要接收客户端任务请求,接收和监控NodeManager的资源情况汇报,负责资源的分配和调度,启动和监控am
NodeManager 主要是节点上的资源管理 启动container运行task计算,上报资源,container情况给RM和任务处理情况个AM
application master:单个application的task管理和调度,向rm进行资源申请,向NM发出launch Container指令,接收NM的task处理状态信息。
job的处理工程:
1.client submit一个job到rm,进入rm的scheduler队列供调度
2.rm根据nm汇报的container的资源使用情况,请求一个合适的nm launch container,以启动运行AM
3.AM启动后,注册到RM,以使得client能够查到AM的信息,便于client直接和AM通讯
4.AM启动后,根据job相关的split的task情况,会和RM协商申请container资源
5.RM分配给AM container资源后,根据container的信息,向对应的NM请求launch container
6.NM启动container运行task,运行过程中向AM汇报进度状态信息,类似于mrv1中task的汇报,同时NM也会定时的向RM汇报container的使用情况
7.在application执行过程中,client可以和am通讯,获取application相关的进度和状态信息
8.在application完成后,AM通知RM clear自己的相关信息,并关闭,释放自己占用的container