2014年10月15日
摘要: 与JobTracker一样,TaskTracker也有main()方法,然后以线程的方式启动(继承了Runnable接口)。main()方法中主要包含两步:一是创建一个TaskTracker对象;二是启动TaskTracker线程。 1 public static void main(Strin... 阅读全文
posted @ 2014-10-15 17:42 有无之中 阅读(1691) 评论(0) 推荐(0) 编辑
  2014年9月28日
摘要: 本篇主要介绍Job从客户端提交到JobTracker及其被初始化的过程。 以WordCount为例,以前的程序都是通过JobClient.runJob()方法来提交Job,但是现在大多用Job.waitForCompletion(true)方法来提交(true表示打印出运行过程),但其本质都是... 阅读全文
posted @ 2014-09-28 22:31 有无之中 阅读(3607) 评论(0) 推荐(0) 编辑
摘要: 这部分的计划是这样的,首先解释JobTracker的启动过程和作业从JobClient提交到JobTracker上;然后分析TaskTracker和heartbeat;最后将整个流程debug一遍来加深映象。 在看JobTracker源代码的时候就会发现,它里边有main()方法,这就说明了它... 阅读全文
posted @ 2014-09-28 17:53 有无之中 阅读(3693) 评论(0) 推荐(0) 编辑
摘要: hadoop的核心思想是MapReduce,但shuffle又是MapReduce的核心。shuffle的主要工作是从Map结束到Reduce开始之间的过程。首先看下这张图,就能了解shuffle所处的位置。图中的partitions、copy phase、sort phase所代表的就是shu... 阅读全文
posted @ 2014-09-28 11:51 有无之中 阅读(24251) 评论(0) 推荐(4) 编辑
摘要: InputFormat接口(package org.apache.hadoop.mapreduce包中)里包括两个方法:getSplits()和createRecordReader(),这两个方法分别用来定义输入分片和读取分片的方法。 1 public abstract class InputF... 阅读全文
posted @ 2014-09-28 09:43 有无之中 阅读(4248) 评论(0) 推荐(0) 编辑
摘要: 问题1:Cannot run program "/bin/ls": error=11, Resource temporarily unavailable 1 15/04/22 14:46:46 INFO mapred.JobClient: Task Id : attempt_201504221017... 阅读全文
posted @ 2014-09-28 09:17 有无之中 阅读(808) 评论(0) 推荐(0) 编辑