Hadoop阅读笔记(五)——重返Hadoop目录结构
常言道:男人是视觉动物。我觉得不完全对,我的理解是范围再扩大点,不管男人女人都是视觉动物。某些场合(比如面试、初次见面等),别人没有那么多的闲暇时间听你诉说过往以塑立一个关于你的完整模型。所以,第一眼,先走外貌协会的路线,打量一番,再通过望闻问切等各种手段获取关于你的大量信息(如谈吐、举止等),以快速建立起对于你的认识。
待人接物如此,搞技术也不例外,起码我是这样的。把玩了一番Hadoop的MapReduce过程,单词计数、去重、单表关联等运行的时候控制台打印出各种我看懂看不懂的信息,有了这些视觉呈现足以激发我的兴趣,激励并指引我慢慢走向其内部构造、运行机制。通过上篇的过渡也对于整个MapReduce的运行过程有了一个粗略的认识,下一步就是慢慢深入其源码,一窥hadoop究竟。
今天主要介绍有关Hadoop(0.20.2)的源码目录结构、各文件夹的职责以及源码中的包结构以及核心包对应的功能。
一.Hadoop的目录结构及职责
1.目录结构

2.各文件夹主要职责
bin: 此目录下为进行hadoop配置、运行以及管理的shell命令集合
c++:此目录下为linux下amd64-64位系统以及i386-32位系统提供的库文件集合
conf:此目录下为运行与配置hadoop环境需要的配置文件以及示例文件集合,实际运行时可以对照此目录下的文件结构进行相应的配置
contrib:此目录下针对hadoop运行过程中需要特殊强化的模块进行了模块化封装,此为其发布包以及相应的配置文件
docs:此目录下包含对于hadoop运行配置的基本文档,包括html和pdf两种格式
ivy:此目录下包含编译hadoop的ivy编译工具的脚本和配置文件
lib:此目录下包含编译以及运行hadoop环境必须的其他模块jar包集合
src:hadoop源码
webapps:发布包中的示例程序
build.xml:编译工程所需的ant配置文件
CHANGES.txt:新版本针对上一版本的更新点
二、源码包结构及功能
1.源码包结构
前提:需要将下载好的hadoop源码导入eclipse中,具体做法可以网上搜。需要将src下的core、tool、mapred以及hdfs四个文件夹拷贝到eclipse的项目中,得到结构图如下:
src/core:


src/mapred:

src/tools:

src/hdfs:

2.核心包主要功能介绍
tool:提供一些命令行工具,如DistCp,archive
mapreduce: Hadoop的Map/Reduce实现
filecache: 提供HDFS文件的本地缓存,用于加快Map/Reduce的数据访问速度
fs: 文件系统的抽象,可以理解为支持多种文件系统实现的统一文件访问接口
hdfs: HDFS,Hadoop的分布式文件系统实现
ipc: 一个简单的IPC的实现,依赖于io提供的编解码功能
io: 表示层。将各种数据编码/解码,方便于在网络上传输
net: 封装部分网络功能,如DNS,socket
security: 用户和用户组信息
conf: 系统的配置参数
metrics: 系统统计数据的收集,属于网管范畴
util: 工具类
record: 根据DDL(数据描述语言)自动生成他们的编解码函数,目前可以提供C++和Java
http: 基于Jetty的HTTP Servlet,用户通过浏览器可以观察文件系统的一些状态信息和日志
log: 提供HTTP访问日志的HTTP Servlet
后面就是咀嚼代码的岁月了
对于Hadoop等大数据技术有兴趣的欢迎加群413471695交流讨论^_^
本文链接:《Hadoop阅读笔记(五)——重返Hadoop目录结构》
参考博文:http://caibinbupt.iteye.com/?page=6
友情赞助
如果你觉得博主的文章对你那么一点小帮助,恰巧你又有想打赏博主的小冲动,那么事不宜迟,赶紧扫一扫,小额地赞助下,攒个奶粉钱,也是让博主有动力继续努力,写出更好的文章^^。
1. 支付宝 2. 微信

Hadoop阅读笔记(五)——重返Hadoop目录结构的更多相关文章
- Hadoop阅读笔记(七)——代理模式
关于Hadoop已经小记了六篇,<Hadoop实战>也已经翻完7章.仔细想想,这么好的一个框架,不能只是流于应用层面,跑跑数据排序.单表链接等,想得其精髓,还需深入内部. 按照<Ha ...
- Hadoop阅读笔记(一)——强大的MapReduce
前言:来园子已经有8个月了,当初入园凭着满腔热血和一脑门子冲动,给自己起了个响亮的旗号“大数据 小世界”,顿时有了种世界都是我的,世界都在我手中的赶脚.可是......时光飞逝,岁月如梭~~~随手一翻 ...
- Hadoop阅读笔记(六)——洞悉Hadoop序列化机制Writable
酒,是个好东西,前提要适量.今天参加了公司的年会,主题就是吃.喝.吹,除了那些天生话唠外,大部分人需要加点酒来作催化剂,让一个平时沉默寡言的码农也能成为一个喷子!在大家推杯换盏之际,难免一些画面浮现脑 ...
- Hadoop阅读笔记(四)——一幅图看透MapReduce机制
时至今日,已然看到第十章,似乎越是焦躁什么时候能翻完这本圣经的时候也让自己变得更加浮躁,想想后面还有一半的行程没走,我觉得这样“有口无心”的学习方式是不奏效的,或者是收效甚微的.如果有幸能有大牛路过, ...
- Hadoop阅读笔记(三)——深入MapReduce排序和单表连接
继上篇了解了使用MapReduce计算平均数以及去重后,我们再来一探MapReduce在排序以及单表关联上的处理方法.在MapReduce系列的第一篇就有说过,MapReduce不仅是一种分布式的计算 ...
- Hadoop阅读笔记(二)——利用MapReduce求平均数和去重
前言:圣诞节来了,我怎么能虚度光阴呢?!依稀记得,那一年,大家互赠贺卡,短短几行字,字字融化在心里:那一年,大家在水果市场,寻找那些最能代表自己心意的苹果香蕉梨,摸着冰冷的水果外皮,内心早已滚烫.这一 ...
- Android开发笔记--hello world 和目录结构
原文:Android开发笔记--hello world 和目录结构 每接触一个新东西 都有一个hello world的例子. 1.新建项目 2.配置AVD AVD 没有要新建个,如果不能创建 运行SD ...
- Hadoop 系列(五)—— Hadoop 集群环境搭建
一.集群规划 这里搭建一个 3 节点的 Hadoop 集群,其中三台主机均部署 DataNode 和 NodeManager 服务,但只有 hadoop001 上部署 NameNode 和 Resou ...
- vue学习笔记(三)——目录结构介绍
1.初始目录结构如下: 2.目录结构介绍 目录/文件 说明 build 最终发布的代码存放位置. config 配置目录,包括端口号等.我们初学可以使用默认的. node_modules npm 加载 ...
随机推荐
- asp.net中gridview的checkbox使用总结
1.在gridview中的<column>中加入 <asp:TemplateField HeaderText="选择"> <ItemTemplate& ...
- 关于FluentNhibernate数据库连接配置,请教
在用FluentNHibernate映射数据库,出现这个问题,一天多了也没解决,求各位大神支招 问题是与map对应的表已成功创建,出错的地方是最后的 .BuildSessionFactory(); ...
- 使用git将代码push到osc上
1.下载git客户端 2.在osc上创建项目 ①使用:git bash here ②在目录下执行:git init ③ssh-keygen -t rsa -C "xqs@gmail.com& ...
- Oracle expdp/impdp导出导入命令及数据库备份
使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用, ...
- 你写的return null正确吗?
上次一篇“你写的try…catch真的有必要吗”引起了很多朋友的讨论.本次我在code review又发现了一个问题,那就是有人有意无意的写出了return null这样的代码,例如: public ...
- Java语法糖1:可变长度参数以及foreach循环原理
语法糖 接下来几篇文章要开启一个Java语法糖系列,所以首先讲讲什么是语法糖.语法糖是一种几乎每种语言或多或少都提供过的一些方便程序员开发代码的语法,它只是编译器实现的一些小把戏罢了,编译期间以特定的 ...
- Web 数据存储总结
随着Web应用程序的出现,也产生了对于能够在客户端上存储用户信息能力的要求.这个问题的第一个解决方案是以cookie形似出现的.网景公司在一份名为“Persistent Client State: H ...
- 使用protractor操作页面元素
Protractor是为Angular JS应用量身打造的端到端测试框架.它可以真实的驱动浏览器,自动完成对web应用的测试.Protractor驱动浏览器使用的是WebDriver标准,所以使用起来 ...
- 三天学会HTML5——SVG和Canvas的使用
在第一天学习了HTML5的一些非常重要的基本知识,今天将进行更深层学习 首先来回顾第一天学习的内容,第一天学习了新标签,新控件,验证功能,应用缓存等内容. 第2天将学习如何使用Canvas 和使用SV ...
- EF架构~在global.asax里写了一个异常跳转,不错!
回到目录 一般地,网站出现异常后,我们会通过设置web.config的方法来实现友好页的显示,这个方法比较常用,但捕捉的信息不是很具体,在程序测试阶段,我们可以通过global.asax来实现友好的, ...