2014年1月20日

【Hadoop代码笔记】Hadoop作业提交之Job初始化

摘要: 一、概要描述在上一篇博文中主要描述了JobTracker和其几个服务(或功能)模块的接收到提交的job后的一些处理。其中很重要的一部分就作业的初始化。因为代码片段图的表达问题,本应该在上篇描述的内容,分开在本篇描述。二、 流程描述1. 代码也接上文的最后一个方法EagerTaskInitializationListener的jobAdded方法把JobInProgress类型的job放到List类型的 jobInitQueue中,有个单独的线程会对新加入的每个job进行初始化,其初始化调用的方法就是JobInProgress的方法initTasks。2. 在JobInProgress的方法in 阅读全文

posted @ 2014-01-20 12:41 idouba.net 阅读(1953) 评论(0) 推荐(0) 编辑

2014年1月19日

【Hadoop代码笔记】Hadoop作业提交之TaskTracker获取Task

摘要: 一、概要描述在上上一篇博文和上一篇博文中分别描述了jobTracker和其服务(功能)模块初始化完成后,接收JobClient提交的作业,并进行初始化。本文着重描述,JobTracker如何选择作业的Task分发到TaskTracker。本文只是描述一个TaskTracker如何从JobTracker获取Task任务。Task任务在TaskTracker如何执行将在后面博文中描述。二、 流程描述1. TaskTracker在run中调用offerService()方法一直死循环的去连接Jobtracker,先Jobtracker发送心跳,发送自身状态,并从Jobtracker获取任务指令来执行 阅读全文

posted @ 2014-01-19 22:13 idouba.net 阅读(2114) 评论(0) 推荐(1) 编辑

2014年1月18日

【Hadoop代码笔记】Hadoop作业提交之JobTracker接收作业提交

摘要: 一、概要描述在上一篇博文中主要描述了JobTracker接收作业的几个服务(或功能)模块的初始化过程。本节将介绍这些服务(或功能)是如何接收到提交的job。本来作业的初始化也可以在本节内描述,但是涉及到JobInProgress的初始化过程放在一张图上太拥挤,就分开到下一篇文章中描述。二、 流程描述1. JobClient通过RPC的方式向JobTracker提交作业;2. 调用JobTracker的submitJob方法。该方法是JobTracker向外提供的供调用的提交作业的接口。3. submit方法中调用JobTracker的addJob方法。4. 在addJob方法中会把作业加入到集 阅读全文

posted @ 2014-01-18 21:14 idouba.net 阅读(1860) 评论(1) 推荐(0) 编辑

【Hadoop代码笔记】Hadoop作业提交之JobTracker等相关功能模块初始化

摘要: 一、概要描述本文重点描述在JobTracker一端接收作业、调度作业等几个模块的初始化工作。想过模块的介绍会在其他文章中比较详细的描述。受理作业提交在下一篇文章中会进行描述。为了表达的尽可能清晰一点只是摘录出影响逻辑流转的主要代码。重点强调直接的协作调用,每个内部完成的逻辑(一直可以更细的说明、有些细节可能自己也理解并不深刻:-()在后续会描述。主要包括JobTracker、TaskScheduler(此处以FairScheduler为例)、JobInProgressListener(以用的较多的EagerTaskInitializationListener为例)、TaskSelector(以 阅读全文

posted @ 2014-01-18 11:05 idouba.net 阅读(1198) 评论(0) 推荐(0) 编辑

2014年1月16日

【hadoop代码笔记】Hadoop作业提交中EagerTaskInitializationListener的作用

摘要: 在整理FairScheduler实现的task调度逻辑时,注意到EagerTaskInitializationListener类。差不多应该是job提交相关的逻辑代码中最简单清楚的一个了。todo:标红文字表示要加前向链接,待相关文字草稿提交后。一、概述继承自JobInProgressListener,实现了jobAdded,jobRemoved,jobUpdated方法。哦,不能说实现,应该说继承,JobInProgressListener居然是个抽象类,看着怎么这样的listener也应该是个interface。在该listener被注册后,就响应jobAdded,jobRemoved,j 阅读全文

posted @ 2014-01-16 12:20 idouba.net 阅读(508) 评论(0) 推荐(0) 编辑

2014年1月15日

一张纸勾起的回忆

摘要: 收拾之前的东西,不小心看到了一张纸条,是自己写给自己的。有点小感慨,记录下。那时候刚开始工作吧,在沈阳的辽中县修桥,好像是从东北回家的路上,在北京的西单图书大厦泡了一天,买了这样一本书。当时看了,技巧倒没有得到什么,但是好像很受激励(年轻时更容易被激励吧),就下决心,真的下决心拿张破纸记下了目标,有点狂妄,当时不知道四级六级具体是啥,只知道六级比四级难,目标就写个大的。说实话,读的那本书里面的内容已经完全不记得了,书好像也早都不在了。只是从那里面第一次听说了VOA Special English。后来就从一个还在念大学的好朋友的同学那儿拿到一个破收音机(同时还四块钱一本的从他们学校后门的旧书摊 阅读全文

posted @ 2014-01-15 22:45 idouba.net 阅读(1909) 评论(17) 推荐(12) 编辑

2014年1月12日

【Hadoop代码笔记】通过JobClient对Jobtracker的调用详细了解Hadoop RPC

摘要: Hadoop的各个服务间,客户端和服务间的交互采用RPC方式。关于这种机制介绍的资源很多,也不难理解,这里不做背景介绍。只是尝试从Jobclient向JobTracker提交作业这个最简单的客户端服务器交互的代码中,去跟踪和了解下RPC是怎么被使用的。不同于准备发表博客时搜索的几篇博文,试图通过一种具体的场景来介绍,属于比较初级。其他DataNode和Namenode之间,Tasktracker和JobTracker之间的交互基本也都一样。为了引用的代码篇幅尽可能少,忽略了代码中写日志(包括Metrics)、某些判断等辅助代码。1 RPC客户端请求(从JobClient 的jobSubmitC 阅读全文

posted @ 2014-01-12 21:46 idouba.net 阅读(1437) 评论(0) 推荐(0) 编辑

【Hadoop代码笔记】Hadoop作业提交之客户端作业提交

摘要: 1. 概要描述仅仅描述向Hadoop提交作业的第一步,即调用Jobclient的submitJob方法,向Hadoop提交作业。2. 详细描述Jobclient使用内置的JobSubmissionProtocol 实例jobSubmitClient 和JobTracker交互,最主要是提交作业、获取作业执行信息等。在JobClient中作业提交的主要过程如下:1)通过调用JobTracker的getNewJobId()向jobtracker请求一个新的作业ID2)获取job的jar、输入分片、作业描述等几个路径信息,以jobId命名。3)其中getSystemDir()是返回jobtracke 阅读全文

posted @ 2014-01-12 21:43 idouba.net 阅读(1289) 评论(0) 推荐(0) 编辑

【Hadoop代码笔记】目录

摘要: 整理09年时候做的Hadoop的代码笔记。开始。【Hadoop代码笔记】Hadoop作业提交之客户端作业提交【Hadoop代码笔记】通过JobClient对Jobtracker的调用看详细了解Hadoop RPC待续。。 阅读全文

posted @ 2014-01-12 21:40 idouba.net 阅读(221) 评论(0) 推荐(0) 编辑

新博客落户了

摘要: 整理之前的资料,用心的整理。主要先一下几个方面:1. 之前的hadoop代码学习笔记;2. nutch代码学习笔记3. java 并发笔记4. 数据挖掘项目实践笔记5. 数据库理论6. 项目管理心得在豆豆14个半月的时候完成,因为在整理和补充,不是start from scratch。当然还包括自己之前的有些一直在硬盘里存着的可能有些自己私密的文档,找个空间整理下。呵呵,现在发现也没有那么私密都。:-)先这些吧,开始把。 阅读全文

posted @ 2014-01-12 21:36 idouba.net 阅读(167) 评论(0) 推荐(0) 编辑

导航