2014年9月7日
摘要: 维基的简介:Paxos算法是莱斯利·兰伯特(Leslie Lamport,就是 LaTeX 中的"La",此人现在在微软研究院)于1990年提出的一种基于消息传递且具有高度容错特性的一致性算法。Paxos算法目前在Google的Chubby、MegaStore、Spanner等系统中得到了应用,Ha... 阅读全文
posted @ 2014-09-07 12:38 esingchan 阅读(39813) 评论(11) 推荐(11) 编辑
  2014年9月6日
摘要: 最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据压缩,两者本质上没啥区别,在数学家看来,都是映射。一方面在进行通信的时候,有必要将待传输的数据进行压... 阅读全文
posted @ 2014-09-06 20:51 esingchan 阅读(115610) 评论(58) 推荐(127) 编辑
  2014年9月4日
摘要: 在上一节我们分析了Child子进程启动,处理Map、Reduce任务的主要过程,但对于一些细节没有分析,这一节主要对MapOutputBuffer这个关键类进行分析。MapOutputBuffer顾名思义就是Map输出结果的一个Buffer,用户在编写map方法的时候有一个参数OutputColle... 阅读全文
posted @ 2014-09-04 00:39 esingchan 阅读(4691) 评论(2) 推荐(6) 编辑
  2014年8月31日
摘要: 在上一节我们分析了TaskTracker如何对JobTracker分配过来的任务进行初始化,并创建各类JVM启动所需的信息,最终创建JVM的整个过程,本节我们继续来看,JVM启动后,执行的是Child类中的Main方法,这个方法是如何执行的。1,从命令参数中解析相应参数,获取JVMID、建立RPC连... 阅读全文
posted @ 2014-08-31 00:18 esingchan 阅读(2003) 评论(0) 推荐(0) 编辑
  2014年8月30日
摘要: 在上面一节我们分析了JobTracker调用JobQueueTaskScheduler进行任务分配,JobQueueTaskScheduler又调用JobInProgress按照一定顺序查找任务的流程,获得了任务之后,将任务封装为TaskTrackerAction数组返回的整个过程。TaskTrac... 阅读全文
posted @ 2014-08-30 18:52 esingchan 阅读(1875) 评论(0) 推荐(0) 编辑
摘要: 在上一节分析了TaskTracker和JobTracker之间通过周期的心跳消息获取任务分配结果的过程。中间留了一个问题,就是任务到底是怎么分配的。任务的分配自然是由JobTracker做出来的,具体来说,存在一个抽象类:TaskScheduler,主要负责分配任务,继承该类的有几个类:Capaci... 阅读全文
posted @ 2014-08-30 04:49 esingchan 阅读(7922) 评论(1) 推荐(2) 编辑
  2014年8月17日
摘要: 上一节分析到了JobTracker把作业从队列里取出来并进行了初始化,所谓的初始化,主要是获取了Map、Reduce任务的数量,并统计了哪些DataNode所在的服务器可以处理哪些Split等等,将这些信息缓存起来,但还没有进行实质的分配。等待TaskTracker跟自己通信。TaskTracker... 阅读全文
posted @ 2014-08-17 22:38 esingchan 阅读(1769) 评论(0) 推荐(0) 编辑
摘要: 1 安装环境1.1 客户端1.2 服务端1.3 安装准备 2 操作系统安装2.1.1 BIOS打开虚拟化支持2.1.2 关闭防火墙2.1.3 安装VNC3 JAVA安装 3.1 配置目的3.2 配置过程3.3 结果验证4 主机名配置4.1 配置目的4.2 配置过程4.3 结果验证5 增加hadoop... 阅读全文
posted @ 2014-08-17 05:37 esingchan 阅读(888) 评论(0) 推荐(0) 编辑
摘要: 从公开介绍来看,ProtocolBuffer(PB)是google 的一种数据交换的格式,它独立于语言,独立于平台。作为一个学了多年通信的人,ProtocolBuffer在我看来是一种信源编码。所谓信源编码,就是将待传输的信源符号经过某种变换,转换成码流进行传输的这个变换过程。信源编码可分为两类:有... 阅读全文
posted @ 2014-08-17 05:00 esingchan 阅读(2520) 评论(1) 推荐(0) 编辑
摘要: 上一节分析了Job由JobClient提交到JobTracker的流程,利用RPC机制,JobTracker接收到Job ID和Job所在HDFS的目录,够早了JobInProgress对象,丢入队列,另一个线程从队列中取出JobInProgress对象,并丢入线程池中执行,执行JobInProgr... 阅读全文
posted @ 2014-08-17 02:59 esingchan 阅读(2958) 评论(1) 推荐(0) 编辑