zoukankan      html  css  js  c++  java
  • [Hadoop]

    这里仅介绍一种Hadoop3.0.x版本的源码编译方式

    编译过程

      1. 下载源码

      2. 安装依赖环境

      3. 源码编译

    =============================================

    一、下载源码

    直接从apache的归档网站中下载对应版本的源码,比如需要下载的hadoop-3.0.0-alpha2的地址为http://archive.apache.org/dist/hadoop/core/hadoop-3.0.0-alpha2/; 直接下载源码包:hadoop-3.0.0-alpha2-src.tar.gz

    二、安装依赖环境

    hadoop的编译需要依赖cmake、openssl等相关依赖环境,如果在编译hadoop之前没有进行必要环境的安装的话,可能会出一些异常问题,部分异常解决将博客:[Hadoop] - Cannot run program "cmake"[Hadoop] - Protocol Buffer安装; 必要服务列表为:

    * Unix System ## Unix类型的操作系统
    * JDK 1.8+ ## JDK至少1.8版本
    * Maven 3.0 or later ## Maven环境3.x版本以上,最好将maven的源修改为国内源,默认国外源可能连接不上
    * Findbugs 1.3.9 (if running findbugs) ## 可选
    * ProtocolBuffer 2.5.0 ## 必须,版本不要选择错误了
    * CMake 2.6 or newer (if compiling native code), must be 3.0 or newer on Mac ## 进行native编译过程中必须服务
    * Zlib devel (if compiling native code) ## cmake服务需要
    * openssl devel (if compiling native hadoop-pipes and to get the best HDFS encryption performance) ## cmake服务需要
    * Linux FUSE (Filesystem in Userspace) version 2.6 or above (if compiling fuse_dfs) 
    * Internet connection for first build (to fetch all Maven and Hadoop dependencies)
    * python (for releasedocs)
    * bats (for shell code testing)
    * Node.js / bower / Ember-cli (for YARN UI v2 building)

    三、源码编译

    进行源码压缩包解压,然后进入解压后的文件夹,执行相关maven命令进行源码编译操作

    假设解压后,hadoop源码位于文件夹:/opt/workspaces/hadoop-3.0.0-alpha2-src中;支持的maven命令如下:

    Maven build goals:
    
     * Clean                     : mvn clean [-Preleasedocs]
     * Compile                   : mvn compile [-Pnative]
     * Run tests                 : mvn test [-Pnative] [-Pshelltest]
     * Create JAR                : mvn package
     * Run findbugs              : mvn compile findbugs:findbugs
     * Run checkstyle            : mvn compile checkstyle:checkstyle
     * Install JAR in M2 cache   : mvn install
     * Deploy JAR to Maven repo  : mvn deploy
     * Run clover                : mvn test -Pclover [-DcloverLicenseLocation=${user.name}/.clover.license]
     * Run Rat                   : mvn apache-rat:check
     * Build javadocs            : mvn javadoc:javadoc
     * Build distribution        : mvn package [-Pdist][-Pdocs][-Psrc][-Pnative][-Dtar][-Preleasedocs][-Pyarn-ui]
     * Change Hadoop version     : mvn versions:set -DnewVersion=NEWVERSION

    Maven相关参数如下:

     Build options:
    
      * Use -Pnative to compile/bundle native code ## 进行本地库代码编译
      * Use -Pdocs to generate & bundle the documentation in the distribution (using -Pdist) ## 进行帮助文档编译
      * Use -Psrc to create a project source TAR.GZ ## 将源码打包到最后编译好的文件夹中
      * Use -Dtar to create a TAR with the distribution (using -Pdist) ## 对编译好的文件进行打包操作
      * Use -Preleasedocs to include the changelog and release docs (requires Internet connectivity) ## 升级文档编译
      * Use -Pyarn-ui to build YARN UI v2. (Requires Internet connectivity) ## 支持yarn v2的ui

    几个常用的编译命令:

    1. mvn package -Pdist -DskipTests -Dtar -Dmaven.javadoc.skip=true ## 仅编译正常源码部分,对于native部分不进行编译,最终结果打包

    2. mvn package -Pdist,native,docs -DskipTests -Dtar ## 编译正常部分源码、native依赖库以及帮助文档,最终结果打包

    执行mvn package -Pdist,native,docs -DskipTests -Dtar命令后,等等一段时间(根据网络情况而定,一般30分钟左右能够完成编译),完成编译后,命令行输出为:

    编译好的文件位于路径/opt/workspaces/hadoop-3.0.0-alpha2-src/hadoop-dist/target中,即当前目录的hadoop-dist子目录的target文件夹中,文件截图为:

     ==================================

    至此,hadoop3.0编译完成

    编译环境:

      centos6.5 64位 1核2G 

      JDK 1.8.0_121

      Maven 3.3.3

        Maven源:aliyun maven源 ==> http://maven.aliyun.com/nexus/content/groups/public/

      ProtocolBuffer 2.5.0

      Cmake 2.8.12.2

  • 相关阅读:
    String分割成int[]和List<Integer>
    linux查询正在运行的jar包并kill进程
    linux自动清理n天(1个月)前日志文件
    zookeeper命令行操作
    sql开窗函数
    hdfs shell操作
    centos7安装mysql8
    hadoop集群安装
    hdfs基本介绍
    IDEA下运行MAVEN项目,报"程序包******不存在"
  • 原文地址:https://www.cnblogs.com/liuming1992/p/6475189.html
Copyright © 2011-2022 走看看