Hadoop 2.X 包括 编译好的可以直接部署的文件hadoop-{VERSION}.tar.gz; 还有源代码文件hadoop-{VERSION}-src.tar.gz , 需要 Maven 编译后才能进行部署安装.  我以 hadoop 2.7.3 为例.

1. 在Hadoop 的JAR 压缩包解压后的目录 hadoop-{VERSION} 中包含了 Hadoop全部的管理脚本和 JAR 包, ( 如hadoop-2.7.3.tar.gz, 解压后得到hadoop-2.7.3 ,如下图所示 )下面简单对这些文件或目录进行介绍:

  (1) bin : Hadoop 最基本的管理脚本和使用脚本所在的目录, 这些脚本是 sbin 目录下管理脚本的基础实现, 用户可以直接使用这些脚本管理和使用Hadoop.

   (2) etc : Hadoop 配置文件所在的目录, 包括core-site.xml, hdfs-site.xml, mapred-site.xml 等从 Hadoop 1.0 继承而来的配置文件和 yarn-site.xml 等 Hadoop 2.0 新增的配置文件.

  (3) include : 对外提供的编译库头文件( 具体动态库和静态库在 lib 目录中 ), 这些头文件均是用 C++ 定义的, 通常用于 C++ 语言访问 HDFS 或者编写 MapReduce 程序.

  (4) lib : 该目录包含了 Hadoop 对外提供的编程动态库和静态库, 与 include 目录中的头文件结合使用.

  (5) libexec : 各个服务对应的 Shell 配置文件所在的目录, 可用于配置日志输出目录, 启动参数 ( 比如 JVM 参数 ) 等基本信息.

  (6) sbin : Hadoop 管理脚本所在目录, 主要包含 HDFS 和 YARN 中各类服务的启动/关闭脚本.

  (7) share : Hadoop 各个模块编译后的JAR包所在的目录.

2. 在 Hadoop 源代码压缩包解压后的目录 hadoop-{VERSION}-src 中,( 如hadoop-2.7.3-src.tar.gz, 解压后得到hadoop-2.7.3-src ),可看到如图2所示的目录结构, 其中, 比较重要的目录有: hadoop-common-project, hadoop-mapreduce-project, hadoop-hdfs-project 和 hadoop-yarn-project 等, 下面分别介绍这几个目录的作用.

  (1) hadoop-common-project : Hadoop 基础库所在目录, 该目录中包含了其他所有模块可能会用到的基础库, 包括 RPC, Metrics, Counter 等.

  (2) hadoop-mapreduce-project : MapReduce 框架的实现, 在MRv1 中, MapReduce 由编程模型( map/reduce ), 调度系统(JobTracker 和 TaskTracker ) 和数据处理引擎 ( MapTask 和 ReduceTask ) 等模块组成, 而此处的 MapReduce 则不同于 MRv1 中的实现, 它的资源调度功能由新增的 YARN 完成 ( 编程模型和数据处理引擎不变 ), 自身仅包含非常简单的任务分配功能.

  (3) hadoop-hdfs-project : Hadoop 分布式文件系统实现, 不同于 Hadoop 1.0 中单 NameNode 实现, Hadoop 2.0 支持多 NameNode, 同时解决了 NameNode 单点故障问题.

  (4) hadoop-yarn-project : Hadoop 资源管理系统 YARN 实现. 这是 Hadoop 2.0 新引入的分支, 该系统能够统一管理系统中的资源, 并按照一定的策略分配给各个应用程序.

Hadoop 源代码组织结构的更多相关文章

  1. hadoop源代码组织结构与阅读技巧

    本文将介绍在 Eclipse 下阅读 Hadoop 源代码的一些技巧, 比如如何查看一个基类有哪些派生类. 一个方法被其他哪些方法调用等. 本文地址:http://www.cnblogs.com/ar ...

  2. 将hadoop源代码导入eclipse

    1. 安装JDK,eclipse,下载hadoop源代码并解压到某一个目录. 2. 安装maven,将bin目录添加到PATH环境变量中. 3. 安装protobuf2.5.0,将protoc-2.5 ...

  3. eclipse下编译hadoop源代码(转)

    hadoop是一个分布式存储和分布式计算的框架.在日常使用hadoop时,我们会发现hadoop不能完全满足我们的需要,我们可能需要修改hadoop的源代码并重新编译.打包. 下面将详细描述如何从sv ...

  4. Hadoop源代码分析

    http://wenku.baidu.com/link?url=R-QoZXhc918qoO0BX6eXI9_uPU75whF62vFFUBIR-7c5XAYUVxDRX5Rs6QZR9hrBnUdM ...

  5. hadoop源代码解读namenode高可靠:HA;web方式查看namenode下信息;dfs/data决定datanode存储位置

    点击browserFilesystem,和命令查看结果一样 当我们查看hadoop源代码时,我们看到hdfs下的hdfs-default.xml文件信息 我们查找${hadoop.tmp.dir}这是 ...

  6. Hadoop源代码导入Eclipse

    须要进一步学习hadoop.须要看看内部源代码实现.因此须要将hadoop源代码导入都eclipse中,简单总结一下,详细过程例如以下: 首先确保已经安装了git.maven3.protobuf2.5 ...

  7. eclipse导入/编译hadoop源代码

    1. 确保安装好JDK和eclipse 详细教程见: http://blog.csdn.net/kangdakangdaa/article/details/11364985 2. 安装 Subclip ...

  8. 两种配置大数据环境的方法Ambari以及hadoop源代码安装的步骤

    1.Ambari安装 Ambari & HDP(Hortonworks Data Platform) ********************************************* ...

  9. RPC框架研究(二)Hadoop源代码-1

    报名了阿里中间件性能大赛,我来说是一个全新的挑战.一切从空白学起,比赛的过程也是学习的过程 是的.想让自己学好.给自己报一个比赛吧~ 就像当初学围棋,也是报了围棋比赛,为了不至于输的太慘.一个星期里学 ...

随机推荐

  1. 【转】Windows2008上传大文件的解决方法(iis7解决上传大容量文件)

    2008上传大文件的解决方法:http://wenku.it168.com/d_000091739.shtml 2003上传大文件的解决方法:http://tech.v01.cn/windowsxit ...

  2. C++字符串操作二

    #include <iostream> #include <assert.h> using namespace std; //模拟实现strcmp函数. bool my_str ...

  3. xcode打包 提交到iTunesConnect

    1.首先确定发布app的所必要选中或者切换的弄好 比如切换环境到 由测试环境切换到正式环境. 2.打发布包 首先选中Product 然后选中Archive. 3.等待编译. 4.打包成功 会进入到下面 ...

  4. 04 http协议模拟登陆发帖

    <?php require('./http.class.php'); $http = new Http('http://home.verycd.com/cp.php?ac=pm&op=s ...

  5. 2016/7/7 设置wamp2.5 mysql密码 重点是mysql版本

    密码设置时要注意mysql版本.版本不同,效果不同. 方法/步骤     安装好wamp后,右击wamp->MySQl->MySql console(控制台)   提示输入密码,因为密码为 ...

  6. spring源码解析——2容器的基本实现(第2版笔记)

    感觉第二版写的略潦草,就是在第一版的基础上加上了新的流行特性,比如idea,springboot,但是,潦草痕迹遍布字里行间. 虽然换成了idea,但是很多截图还是eclipse的,如果不是看了第一版 ...

  7. eclipse调试第三方jar包需要源码的问题

    很多时候测试自己的jar包功能时,需要有一个测试工程导入该jar包,但是一般在调试的时候,需要跟进去看看步骤和逻辑是否正确,这个时候就需要在jar包的源码中下断点.最近刚好自己也会经常这样做,也遇到了 ...

  8. 阿里妈妈-RAP项目的实践(2)

    接口详情 (id: 32872) Mock数据 接口名称 datalist1 请求类型 get 请求Url /datas/list1 接口描述 数据列表 请求参数列表 变量名 含义 类型 备注 响应参 ...

  9. Javascript - ERR_CONTENT_LENGTH_MISMATCH

    不知道做了什么,有两天没有跑vue项目啦,今天突然出现加载脚本的时候出现 ERR_CONTENT_LENGTH_MISMATCH这个错误, 所以我去搜索了一下  找到如下答案  http://stac ...

  10. 剑指Offer:反转链表【24】

    剑指Offer:反转链表[24] 题目描述 输入一个链表,反转链表后,输出新链表的表头. 解题分析 这道题我才发现我是属于那种真的笨,图都画出来了流程写不出来.看了别人的代码,总觉得自己差一步. 这也 ...