常言道:男人是视觉动物。我觉得不完全对,我的理解是范围再扩大点,不管男人女人都是视觉动物。某些场合(比如面试、初次见面等),别人没有那么多的闲暇时间听你诉说过往以塑立一个关于你的完整模型。所以,第一眼,先走外貌协会的路线,打量一番,再通过望闻问切等各种手段获取关于你的大量信息(如谈吐、举止等),以快速建立起对于你的认识。

  待人接物如此,搞技术也不例外,起码我是这样的。把玩了一番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目录结构的更多相关文章

  1. Hadoop阅读笔记(七)——代理模式

    关于Hadoop已经小记了六篇,<Hadoop实战>也已经翻完7章.仔细想想,这么好的一个框架,不能只是流于应用层面,跑跑数据排序.单表链接等,想得其精髓,还需深入内部. 按照<Ha ...

  2. Hadoop阅读笔记(一)——强大的MapReduce

    前言:来园子已经有8个月了,当初入园凭着满腔热血和一脑门子冲动,给自己起了个响亮的旗号“大数据 小世界”,顿时有了种世界都是我的,世界都在我手中的赶脚.可是......时光飞逝,岁月如梭~~~随手一翻 ...

  3. Hadoop阅读笔记(六)——洞悉Hadoop序列化机制Writable

    酒,是个好东西,前提要适量.今天参加了公司的年会,主题就是吃.喝.吹,除了那些天生话唠外,大部分人需要加点酒来作催化剂,让一个平时沉默寡言的码农也能成为一个喷子!在大家推杯换盏之际,难免一些画面浮现脑 ...

  4. Hadoop阅读笔记(四)——一幅图看透MapReduce机制

    时至今日,已然看到第十章,似乎越是焦躁什么时候能翻完这本圣经的时候也让自己变得更加浮躁,想想后面还有一半的行程没走,我觉得这样“有口无心”的学习方式是不奏效的,或者是收效甚微的.如果有幸能有大牛路过, ...

  5. Hadoop阅读笔记(三)——深入MapReduce排序和单表连接

    继上篇了解了使用MapReduce计算平均数以及去重后,我们再来一探MapReduce在排序以及单表关联上的处理方法.在MapReduce系列的第一篇就有说过,MapReduce不仅是一种分布式的计算 ...

  6. Hadoop阅读笔记(二)——利用MapReduce求平均数和去重

    前言:圣诞节来了,我怎么能虚度光阴呢?!依稀记得,那一年,大家互赠贺卡,短短几行字,字字融化在心里:那一年,大家在水果市场,寻找那些最能代表自己心意的苹果香蕉梨,摸着冰冷的水果外皮,内心早已滚烫.这一 ...

  7. Android开发笔记--hello world 和目录结构

    原文:Android开发笔记--hello world 和目录结构 每接触一个新东西 都有一个hello world的例子. 1.新建项目 2.配置AVD AVD 没有要新建个,如果不能创建 运行SD ...

  8. Hadoop 系列(五)—— Hadoop 集群环境搭建

    一.集群规划 这里搭建一个 3 节点的 Hadoop 集群,其中三台主机均部署 DataNode 和 NodeManager 服务,但只有 hadoop001 上部署 NameNode 和 Resou ...

  9. vue学习笔记(三)——目录结构介绍

    1.初始目录结构如下: 2.目录结构介绍 目录/文件 说明 build 最终发布的代码存放位置. config 配置目录,包括端口号等.我们初学可以使用默认的. node_modules npm 加载 ...

随机推荐

  1. xml笔记

    <?xml version="1.0" encoding="UTF-8"?> ----------------------------------- ...

  2. Web服务器常用设置

    1.Tomcat浏览目录 找到安装目录下的文件/conf/web.xml,  找到以下配置节,将parame-value设置为true即可 <init-param>             ...

  3. RCP:gef智能寻路算法(A star)

    本路由继承自AbstactRouter,参数只有EditPart(编辑器内容控制器),gridLength(寻路用单元格大小),style(FLOYD,FLOYD_FLAT,FOUR_DIR). 字符 ...

  4. linux 2.6 驱动笔记(二)

    字符设备驱动 linux 2.6的字符驱动由cdev结构体描述,具体参考globalmem例子,代码主要分以下几部分: 1. 定义一个字符类型设备驱动的结构体 struct globalmem_dev ...

  5. angular ng-repeat+sortable 拖拽demo

    由于项目需求,需要使用angular 实现列表的增.删.改,并且列表支持拖拽. 看了下angular-ui 里面的sortable组件,使用起来也是非常简单,几十行代码就完成了所需功能. 我现在懒得想 ...

  6. WPF,Silverlight与XAML读书笔记第四十五 - 外观效果之模板

    说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. 模板允许用任何东西完全替换一个元素的可视树, ...

  7. 一步一步跟我学DeviceOne开发 - 仿微信应用(一,二,三)

    这是一个系列的文档,长期目标是利用DeviceOne开发一些目前使用广泛的优质手机应用,我们会最大化的实现这些应用的每一个功能和细节,不只停留在简单的UI模仿和Demo阶段,而是一个基本可以使用的实际 ...

  8. Java多线程系列--“JUC锁”08之 共享锁和ReentrantReadWriteLock

    概要 Java的JUC(java.util.concurrent)包中的锁包括"独占锁"和"共享锁".在“Java多线程系列--“JUC锁”02之 互斥锁Ree ...

  9. Asp.net MVC JsonResult 忽略属性

    指定 JavaScriptSerializer 不序列化公共属性或公共字段.无法继承此类. 命名空间:  System.Web.Script.Serialization 程序集:  System.We ...

  10. [译+改]最长回文子串(Longest Palindromic Substring) Part II

    [译+改]最长回文子串(Longest Palindromic Substring) Part II 原文链接在http://leetcode.com/2011/11/longest-palindro ...