1 个回答
yarn提交作业的流程主要分为4步骤,分别是:
1、作业提交
1、作业提交
首先client会向RM提交作业并且申请一个作业ID
RM给client返回作业ID和job资源的提交路径
client提交jar包、切片信息和配置文件到指定的资源提交路径,完成后接着向RM申请运行MrAppMaseter
2、作业初始化当 RM 收到 Client 的请求后,将该 job 添加到调度器(其中有IFIO、公平、容量3种,其中默认容量)中。
空闲的NM(相对,此处会根据机器的资源决定)会领取任务,创建Container,并产生MrAppMaseter
下载job资源到本地服务器(NM运行的服务器)
3、任务分配MrAppMaster 向 RM 申请运行运行 MapTask 任务资源。
RM 将运行 MapTask 任务分配给另外的 NM,另的 NM分别领取任务并创建容器。
4、任务运行MR 向两个接收到任务的 NodeManager 发送程序启动脚本,这两个 NodeManager 分别启动 MapTask,MapTask 对数据分区排序。
MrAppMaster等待所有MapTask运行完毕后,向RM申请容器,运行ReduceTask。
ReduceTask 向 MapTask 获取相应分区的数据。
程序运行完毕后,MR 会向 RM 申请注销自己。
发布于:3个月前 (01-24) IP属地:四川省
我来回答
您需要 登录 后回答此问题!