本篇主要介绍Job从客户端提交到JobTracker及其被初始化的过程。 以WordCount为例,以前的程序都是通过JobClient.runJob()方法来提交Job,但是现在大多用Job.waitForCompletion(true)方法来提交(true表示打印出运行过程),但其本质都是...
分类:
其他好文 时间:
2014-09-29 00:39:36
阅读次数:
167
上一节以WordCount分析了MapReduce的基本执行流程,但并没有从框架上进行分析,这一部分工作在后续慢慢补充。这一节,先剖析一下任务提交过程。MapReduce集群包含一个JobTracker和多个TaskTracker,这里先不考虑YARN,仍然依据1版本进行分析。一个MapReduce...
分类:
其他好文 时间:
2014-08-17 02:20:01
阅读次数:
320
Hadoop任务提交分析
分析工具和环境
下载一份hadoop的源码,这里以hadoop-1.1.2为例。本地IDE环境为eclipse,导入整个目录,然后可以在IDE里面看到目录结构了,要分析任务提交过程,需要找到入口代码,很明显,对于熟悉Hadoop应用程序开发的同学来说很容易的知道任务的提交是从job的配置开始的,所以需要这样一份提交Job的代码,在src/examples里...
分类:
其他好文 时间:
2014-07-21 22:21:28
阅读次数:
302
DAGScheduler的主要功能1、接收用户提交的job;2、将job根据类型划分为不同的stage,并在每一个stage内产生一系列的task,并封装成TaskSet;3、向TaskScheduler提交TaskSet;以如下示例描述Job提交过程:val sc = new SparkConte...
分类:
其他好文 时间:
2014-07-05 21:16:38
阅读次数:
198
本文所有涉及的内容均为2.2.0版本中呈现。 概述: Job在创建Job并且提交的人的眼中,可以在创建的时候通过配置Job的内容,控制Job的执行,以及查询Job的运行状态。一旦Job提交以后,将不能对其进行配置,否则将会出现IllegalStateException异常。 正常情况下用户...
分类:
其他好文 时间:
2014-06-20 23:46:15
阅读次数:
374
mapreduce
job提交流程源码级分析(三)中已经说明用户最终调用JobTracker.submitJob方法来向JobTracker提交作业。而这个方法的核心提交方法是JobTracker.addJob(JobID
jobId, JobInProgress job)方法,这个addJob.....
分类:
其他好文 时间:
2014-05-26 23:20:49
阅读次数:
354
mapreduce
job提交流程源码级分析(二)(原创)这篇文章说到了jobSubmitClient.submitJob(jobId,
submitJobDir.toString(),
jobCopy.getCredentials())提交job,最终调用的是JobTracker.submit.....
分类:
其他好文 时间:
2014-05-11 16:32:10
阅读次数:
289