zoukankan      html  css  js  c++  java
  • Hadoop 源代码组织结构

    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 新引入的分支, 该系统能够统一管理系统中的资源, 并按照一定的策略分配给各个应用程序.

  • 相关阅读:
    为什么编程是独一无二的职业
    TSQL 编程规范
    Windows实战Git环境配置msysGit+TortoiseGit
    Linux环境下Socket编程
    数据持久化
    Javascript类的定义和引用
    详解C中volatile关键字
    ACM HDU 1040 As Easy As A+B
    ACM POJ 1753Flip Game
    ACM HDU 1017 A Mathematical Curiosity
  • 原文地址:https://www.cnblogs.com/zhangchao0515/p/7101566.html
Copyright © 2011-2022 走看看