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

时间: 2024-08-25 13:20:34

Hadoop阅读笔记(五)——重返Hadoop目录结构的相关文章

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

关于Hadoop已经小记了六篇,<Hadoop实战>也已经翻完7章.仔细想想,这么好的一个框架,不能只是流于应用层面,跑跑数据排序.单表链接等,想得其精髓,还需深入内部. 按照<Hadoop阅读笔记(五)——重返Hadoop目录结构>中介绍的hadoop目录结构,前面已经介绍了MapReduce的内部运行机制,今天准备入手Hadoop RPC,它是hadoop一种通信机制. RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络

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

前言:来园子已经有8个月了,当初入园凭着满腔热血和一脑门子冲动,给自己起了个响亮的旗号“大数据 小世界”,顿时有了种世界都是我的,世界都在我手中的赶脚.可是......时光飞逝,岁月如梭~~~随手一翻自己的博客,可视化已经快占据了半壁江山,思来想去,还是觉得把一直挂在嘴头,放在心头的大数据拿出来说说,哦不,是拿过来学学.入园前期写了有关Nutch和Solr的自己的一些阅读体会和一些尝试,挂着大数据的旗号做着爬虫的买卖.可是,时间在流失,对于大数据的憧憬从未改变,尤其是Hadoop一直让我魂牵梦绕

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

酒,是个好东西,前提要适量.今天参加了公司的年会,主题就是吃.喝.吹,除了那些天生话唠外,大部分人需要加点酒来作催化剂,让一个平时沉默寡言的码农也能成为一个喷子!在大家推杯换盏之际,难免一些画面浮现脑海,有郁闷抓狂的,有出成果喜极而涕的,有不知前途在哪儿的迷茫与不安……总的来说,近一年来,不白活,不虚度,感触良多,不是一言两语能说得清道的明的,有时间可以做个总结,下面还是言归正传谈技术吧. 上篇在了解了Hadoop的目录和源码结构后,说好的要啃源码的,那就得啃.也感谢一直以来关注我.支持我的网友

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

时至今日,已然看到第十章,似乎越是焦躁什么时候能翻完这本圣经的时候也让自己变得更加浮躁,想想后面还有一半的行程没走,我觉得这样“有口无心”的学习方式是不奏效的,或者是收效甚微的.如果有幸能有大牛路过,请指教如何能以效率较高的方式学习Hadoop. 我已经记不清圣经<hadoop 实战2>在我手中停留了多久,但是每一页每一章的翻过去,还是在脑壳里留下了点什么. 一段时间以来,我还是通过这本书加深以及纠正了我对于MapReduce.HDFS乃至Hadoop的新的认识.本篇主要介绍MapReduce

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

继上篇了解了使用MapReduce计算平均数以及去重后,我们再来一探MapReduce在排序以及单表关联上的处理方法.在MapReduce系列的第一篇就有说过,MapReduce不仅是一种分布式的计算方法,更是一种解决问题的新思维.新思路.将原先看似可以一条龙似的处理一刀切成两端,一端是Map.一端是Reduce,Map负责分,Reduce负责合. 1.MapReduce排序 问题模型: 给出多个数据文件输入如: sortfile1.txt 11 13 15 17 19 21 23 25 27

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

前言:圣诞节来了,我怎么能虚度光阴呢?!依稀记得,那一年,大家互赠贺卡,短短几行字,字字融化在心里:那一年,大家在水果市场,寻找那些最能代表自己心意的苹果香蕉梨,摸着冰冷的水果外皮,内心早已滚烫.这一年……我在博客园-_-#,希望用dt的代码燃烧脑细胞,温暖小心窝. 上篇<Hadoop阅读笔记(一)——强大的MapReduce>主要介绍了MapReduce的在大数据集上处理的优势以及运行机制,通过专利数据编写Demo加深了对于MapReduce中输入输出数据结构的细节理解.有了理论上的指导,仍

Hadoop学习笔记_4_实施Hadoop集群 --伪分布式安装

实施Hadoop集群 --伪分布式安装 准备与配置安装环境 安装虚拟机和linux,虚拟机推荐使用vmware,PC可以使用workstation,服务器可以使用ESXi,在管理上比较方便.ESXi还可以通过拷贝镜像文件复制虚拟机,复制后自动修改网卡号和ip,非常快捷.如果只是实验用途,硬盘大约预留20-30G空间. 以Centos为例,分区可以选择默认[如果想要手动分区,请参考博客:http://blog.csdn.net/zjf280441589/article/details/175485

Hadoop学习笔记_8_实施Hadoop集群 --分布式安装Hadoop

实施Hadoop集群 --分布式安装Hadoop 说明: 以Ubuntu配置为例,其中与CentOS不同之处会给出详细说明 现有三台服务器:其IP与主机名对应关系为: 192.168.139.129 master #NameNode/JobTrackerr结点 192.168.139.132 slave01 #DataNode/TaskTracker结点 192.168.139.137 slave02 #DataNode/TaskTracker结点 一.配置ssh实现Hadoop节点间用户的无密

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

原文:Android开发笔记--hello world 和目录结构 每接触一个新东西 都有一个hello world的例子. 1.新建项目 2.配置AVD AVD 没有要新建个,如果不能创建 运行SDK Manager更新 3.接着运行就可以了 第一次启动要1分多钟 不要关 4.添加代码 5.接着在运行就OK了 目录结构 1.src - 用于放置源程序 2.gen - 自动生成 R.java 文件,用于引用资源文件(即 res 目录下的数据) 3.assets - 用于放置原始文件,Androi