摘要: 上面已经提到,job是统一由JobTracker来调度的,具体的Task分发给各个TaskTracker节点来执行。下面通过源码来详细解析执行过程,首先先从JobTracker收到JobClient的提交请求开始。2.3.1 JobTracker初始化Job和Task队列过程2.3.1.1 JobTracker.submitJob() 收到请求当JobTracker接收到新的job请求(即submitJob()函数被调用)后,会创建一个JobInProgress对象并通过它来管理和调度任务。JobInProgress在创建的时候会初始化一系列与任务有关的参数,如job jar的位置(会把它从H 阅读全文
posted @ 2012-03-09 23:19 daniel.deng 阅读(583) 评论(0) 推荐(0) 编辑
摘要: 总体结构Mapper和Reducer 运行于Hadoop的MapReduce应用程序最基本的组成部分包括一个Mapper和一个Reducer类,以及一个创建JobConf的执行程序,在一些应用中还可以包括一个Combiner类,它实际也是Reducer的实现。JobTracker和TaskTracker 它们都是由一个master服务JobTracker和多个运行于多个节点的slaver服务TaskTracker两个类提供的服务调度的。master负责调度job的每一个子任务task运行于slave上,并监控它们,如果发现有失败的task就重新运行它,slave则负责直接执行每一个task。T 阅读全文
posted @ 2012-03-09 23:12 daniel.deng 阅读(361) 评论(0) 推荐(0) 编辑
摘要: Hadoop还实现了MapReduce分布式计算模型。MapReduce将应用程序的工作分解成很多小的工作小块(small blocks of work)。HDFS为了做到可靠性(reliability)创建了多份数据块(data blocks)的复制(replicas),并将它们放置在服务器群的计算节点中(compute nodes),MapReduce就可以在它们所在的节点上处理这些数据了。如下图所示:Hadoop API被分成(divide into)如下几种主要的包(package) org.apache.hadoop.conf 定义了系统参数的配置文件处理API。 org.apach 阅读全文
posted @ 2012-03-09 22:45 daniel.deng 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 网上搜了一些中文的,总是只有一小部分,对于我们这些菜鸟来说,根本没发用,更可恶的是,搜到的内容都是一样的,哎,抄来抄去,估计都没试过到底能不能用就贴上去了。后来找了一个英文的:http://ebiquity.umbc.edu/Tutorials/Hadoop/00%20-%20Intro.html 非常的全面,一步一步的教,我这翻译一下大致的步骤。一,准备Java 1.6 Eclipse Europa 3.3.2 hadoop-0.19.2Java一定要1.6,Eclipse好像不能用3.4以上,hadoop用0.19.2,原文用0.19.1,现在没的下了。0.20.0不能用,我试过了,没法启 阅读全文
posted @ 2012-03-09 09:01 daniel.deng 阅读(752) 评论(0) 推荐(0) 编辑