1 / 3
文档名称:

Hadoop MapReduce 深入MapReduce Job 提交.pdf

格式:pdf   页数:3
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Hadoop MapReduce 深入MapReduce Job 提交.pdf

上传人:紫岑旖旎 2013/12/21 文件大小:0 KB

下载得到文件列表

Hadoop MapReduce 深入MapReduce Job 提交.pdf

文档介绍

文档介绍:想要出类拔萃,就要努力至少一万小时
Hadoop MapReduce 深入MapReduce Job 提交
分类: Hadoop-MapReduce 2013-12-20 08:22 211人阅读评论(0) 收藏举报
hadoopmapreduce
一个job的运行,涉及4个实体:客户端,JobTracker,TaskTracker,HDFS
【客户端】()提交任务,任务提交后。
1 向 jobtracker 请求一个新的作业ID (())
2 检查输出目录,例如输出目录已经存在,就不提交
3 计算作业的输入数据分片。如果分片无法计算(输入路径不存在),就不提交
4 将运作所需要的资源(Jar文件,配置文件,输入分片)复制到 jobtracker 的一个以Job id命名的目录下
【HDFS】。jar文件有多个副本(由  定义,默认10个)
5 告知 jobtracker  作业准备执行,通过调用 ()实现。
【JobTracker】接收到JOB调用后,会把Job放入一个内部队列,作业调度器会从其中选择Job,并对其初始化。
作业调度器首先从HDFS中获得数据分片信息。为每个数据分片创建一个map task。reduce task数目由
 。除了map 和 reduce 任务,还会创建2个
任务:a job setup task 和 a job cleanup task。
【TaskTracker】定时发送 heartbeat 给JobTracker 。heartbeat 用于报告 Tasktracker是否还存活。
同时会通知JobTracker 本结点是否可以运行task ,如果可以运行Task, JobTracker 会分配一个Task到当前结
点。 
Tasktracker中有固定数目的Map Task Slots(任务槽) 和 Reduce Task Slots。例如一个Tasktracker 配置同时运
行2个map Task 和2个reduce Task 。JobTracker 会先分配Map task,如果Map Task Slot 没有空余,才会分
配Reduce task 。
如果是分配Reduce Task,Job Tracker 只是简单的从列表中选择一个。如果分配的是map Task,还需要考虑输入数
据。
tasktracker 被分配一个任务后,首先把Jar文件复制到本地文件系统,同时会将所需要的全部文件从分布式缓存复
制到本地磁盘。tasktracker会新建一个本地工作目录,把Jar文件解压到这个文件夹。最后新建一个
TaskRunner 运行任务。TaskRunner 会启动一个单独的JVM 运行任务。
进度和状态是通过heartbeat来更新和维护的。
如果一个 task 报告进度,会设置一个标志位, tasktracker 中有一个单独进程每3分钟查询一次状
态。tasktracker 每5分钟会向