美文网首页
Mapreduce 作业

Mapreduce 作业

作者: 一个神经质的工程师 | 来源:发表于2020-03-24 10:11 被阅读0次

    作业的提交

    创建内部的jobsubmiter实例来提交作业,具体步骤

    1.向资源管理器 resource manager请求应用ID作为作业ID

    2.检查作业的输出说明,如指定输出目录等

    3.计算作业的输入分片,对文件的分片

    4.将运行作业所需要的资源,如文件分片,jar文件等,复制到一个以作业ID为目录下的共享文件系统中,调用submitapplication()提交作业,调用资源管理器

    作业初始化

    1.资源管理器收到submitapplycation()调用后,将请求传给yarn调度器

    2.调度器分配容器container,然后资源管理器在container中执行application mater进程,接收来自任务的进度和报告。

    3.application master 接受来自共享文件系统的文件分片,来确定对每个分片创建一个map任务以及reduce任务,分配任务ID

    4.在运行任务之前,调用setupjob()设置作业最终输出目录及任务最终输出目录

    任务分配

    1.为所有map和reduce任务想资源管理器申请container,优先请求map任务容器,

    2.确定cpu和内存需求,设计参数 mapreduce.map.memory.mb mapreduce.reduce.memory.mb内存 mapreduce.map.cpu.vcores mapreduce.reduce.cpu.vcoresp.memory.mb CPU

    任务的执行

    1.为任务分配完container,application mater与节点管理器通信来启动container

    2.任务所需资源本地化,然后运行map或者reduce任务。

    任务进度和状态更新

    任务在运行时,需要对进度保持跟踪。对于map任务而言,任务进度是已处理输入的所占百分比,reduce而言是系统计算的已处理输入所占百分比。

    计数器:负责对任务进行过程中各个时间的计数,如输入行数等,通过每秒轮询application mater获取。

    作业完成

    1.application master收到最后一个任务完成通知后,将作业状态置为成功,将信息输出到控制台

    2.application master和container 清理工作状态,将中间输出删除,作业日志被记录被存档以便日后查询

    相关文章

      网友评论

          本文标题:Mapreduce 作业

          本文链接:https://www.haomeiwen.com/subject/tqwnyhtx.html