视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
hadoop2.4.0源码编译
2020-11-09 08:10:44 责编:小采
文档


1.前言 Hadoop-2.4.0 的源码目录下有个 BUILDING.txt 文件,它介绍了如何在 Linux 和 Windows 下编译源代码,本文基本是遵照 BUILDING.txt 指示来操作的,这里再做一下简单的提炼。 第一次编译要求能够访问互联网, Hadoop 的编译依赖非常多的东西,一定要保

1. 前言

Hadoop-2.4.0的源码目录下有个BUILDING.txt文件,它介绍了如何在Linux和Windows下编译源代码,本文基本是遵照BUILDING.txt指示来操作的,这里再做一下简单的提炼。

第一次编译要求能够访问互联网,Hadoop的编译依赖非常多的东西,一定要保证机器可访问互联网,否则难逐一解决所有的编译问题,但第一次之后的编译则不用再下载了。

2. 安装依赖

在编译Hadoop 2.4.0源码之前,需要将下列几个依赖的东西安装好:

1) JDK 1.6或更新版本(本文使用JDK1.7,请不要安装JDK1.8版本,JDK1.8和Hadoop 2.4.0不匹配,编译Hadoop 2.4.0源码时会报很多错误)

2) Maven 3.0或更新版本

3) ProtocolBuffer 2.5.0

4) CMake 2.6或更新版本

5) Findbugs 1.3.9,可选的(本文编译时未安装)

在安装好之后,还需要设置一下环境变量,可以修改/etc/profile,也可以是修改~/.profile,增加如下内容:

export JAVA_HOME=/root/jdk

export CLASSPATH=$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

export CMAKE_HOME=/root/cmake

export PATH=$CMAKE_HOME/bin:$PATH

export PROTOC_HOME=/root/protobuf

export PATH=$PROTOC_HOME/bin:$PATH

export MAVEN_HOME=/root/maven

export PATH=$MAVEN_HOME/bin:$PATH

本文以root用户在/root目录下进行安装,但实际可以选择非root用户及非/root目录进行安装。

2.1. 安装ProtocolBuffer

标准的automake编译安装方式:

1) cd /root

2) tar xzf protobuf-2.5.0.tar.gz

3) cd protobuf-2.5.0

4) ./conigure --prefix=/root/protobuf

5) make

6) make install

2.2. 安装CMake

1) cd /root

2) tar xzf cmake-2.8.12.2.tar.gz

3) cd cmake-2.8.12.2

4) ./bootstrap --prefix=/root/cmake

5) make

6) make install

2.3. 安装JDK

1) cd /root

2) tar xzf jdk-7u55-linux-x.gz

3) cd jdk1.7.0_55

4) ln -s jdk1.7.0_55 jdk

2.4. 安装Maven

1) cd /root

2) tar xzf apache-maven-3.0.5-bin.tar.gz

3) ln -s apache-maven-3.0.5 maven

3. 编译Hadoop源代码

完成上述准备工作后,即可通过执行命令:mvn package -Pdist -DskipTests -Dtar,启动对Hadoop源代码的编译。请注意一定不要使用JDK1.8。

如果需要编译成本地库(Native Libraries)文件,则使用命令:mvn package -Pdist,native -DskipTests -Dtar。如果C/C++程序需要访问HDFS等,需要使用navite方式编译生成相应的库文件。也可以使用mvn package -Pnative -DskipTests -Dtar特意编译出本地库文件。

相关的编译命令还有:

1) mvn package -Pdist -DskipTests -Dtar

2) mvn package -Pdist,native,docs,src -DskipTests -Dtar

3) mvn package -Psrc -DskipTests

4) mvn package -Pdist,native,docs -DskipTests -Dtar

5) mvn clean site; mvn site:stage -DstagingDirectory=/tmp/hadoop-site

编译成功后,jar文件会放在target子目录下,可以在Hadoop源码目录下借用find命令搜索各个target子目录。

编译成功后,会生成Hadoop二进制安装包hadoop-2.4.0.tar.gz,放在源代码的hadoop-dist/target子目录下:

main:

[exec] $ tar cf hadoop-2.4.0.tar hadoop-2.4.0

[exec] $ gzip -f hadoop-2.4.0.tar

[exec]

[exec] Hadoop dist tar available at: /root/hadoop-2.4.0-src/hadoop-dist/target/hadoop-2.4.0.tar.gz

[exec]

[INFO] Executed tasks

[INFO]

[INFO] --- maven-javadoc-plugin:2.8.1:jar (module-javadocs) @ hadoop-dist ---

[INFO] Building jar: /root/hadoop-2.4.0-src/hadoop-dist/target/hadoop-dist-2.4.0-javadoc.jar

[INFO] ------------------------------------------------------------------------

[INFO] Reactor Summary:

[INFO]

[INFO] Apache Hadoop Main ................................ SUCCESS [4.7s]

[INFO] Apache Hadoop Project POM ......................... SUCCESS [5.352s]

[INFO] Apache Hadoop Annotations ......................... SUCCESS [7.239s]

[INFO] Apache Hadoop Assemblies .......................... SUCCESS [0.424s]

[INFO] Apache Hadoop Project Dist POM .................... SUCCESS [2.918s]

[INFO] Apache Hadoop Maven Plugins ....................... SUCCESS [6.261s]

[INFO] Apache Hadoop MiniKDC ............................. SUCCESS [5.321s]

[INFO] Apache Hadoop Auth ................................ SUCCESS [5.953s]

[INFO] Apache Hadoop Auth Examples ....................... SUCCESS [3.783s]

[INFO] Apache Hadoop Common .............................. SUCCESS [1:54.010s]

[INFO] Apache Hadoop NFS ................................. SUCCESS [9.721s]

[INFO] Apache Hadoop Common Project ...................... SUCCESS [0.048s]

[INFO] Apache Hadoop HDFS ................................ SUCCESS [4:15.270s]

[INFO] Apache Hadoop HttpFS .............................. SUCCESS [6:18.553s]

[INFO] Apache Hadoop HDFS BookKeeper Journal ............. SUCCESS [16.237s]

[INFO] Apache Hadoop HDFS-NFS ............................ SUCCESS [6.543s]

[INFO] Apache Hadoop HDFS Project ........................ SUCCESS [0.036s]

[INFO] hadoop-yarn ....................................... SUCCESS [0.051s]

[INFO] hadoop-yarn-api ................................... SUCCESS [1:35.227s]

[INFO] hadoop-yarn-common ................................ SUCCESS [43.216s]

[INFO] hadoop-yarn-server ................................ SUCCESS [0.055s]

[INFO] hadoop-yarn-server-common ......................... SUCCESS [16.476s]

[INFO] hadoop-yarn-server-nodemanager .................... SUCCESS [19.942s]

[INFO] hadoop-yarn-server-web-proxy ...................... SUCCESS [4.926s]

[INFO] hadoop-yarn-server-applicationhistoryservice ...... SUCCESS [9.804s]

[INFO] hadoop-yarn-server-resourcemanager ................ SUCCESS [23.320s]

[INFO] hadoop-yarn-server-tests .......................... SUCCESS [1.208s]

[INFO] hadoop-yarn-client ................................ SUCCESS [9.177s]

[INFO] hadoop-yarn-applications .......................... SUCCESS [0.113s]

[INFO] hadoop-yarn-applications-distributedshell ......... SUCCESS [4.106s]

[INFO] hadoop-yarn-applications-unmanaged-am-launcher .... SUCCESS [3.265s]

[INFO] hadoop-yarn-site .................................. SUCCESS [0.056s]

[INFO] hadoop-yarn-project ............................... SUCCESS [5.552s]

[INFO] hadoop-mapreduce-client ........................... SUCCESS [0.096s]

[INFO] hadoop-mapreduce-client-core ...................... SUCCESS [37.231s]

[INFO] hadoop-mapreduce-client-common .................... SUCCESS [27.135s]

[INFO] hadoop-mapreduce-client-shuffle ................... SUCCESS [4.886s]

[INFO] hadoop-mapreduce-client-app ....................... SUCCESS [17.876s]

[INFO] hadoop-mapreduce-client-hs ........................ SUCCESS [14.140s]

[INFO] hadoop-mapreduce-client-jobclient ................. SUCCESS [11.305s]

[INFO] hadoop-mapreduce-client-hs-plugins ................ SUCCESS [3.083s]

[INFO] Apache Hadoop MapReduce Examples .................. SUCCESS [9.855s]

[INFO] hadoop-mapreduce .................................. SUCCESS [5.110s]

[INFO] Apache Hadoop MapReduce Streaming ................. SUCCESS [7.778s]

[INFO] Apache Hadoop Distributed Copy .................... SUCCESS [12.973s]

[INFO] Apache Hadoop Archives ............................ SUCCESS [3.265s]

[INFO] Apache Hadoop Rumen ............................... SUCCESS [11.060s]

[INFO] Apache Hadoop Gridmix ............................. SUCCESS [7.412s]

[INFO] Apache Hadoop Data Join ........................... SUCCESS [4.221s]

[INFO] Apache Hadoop Extras .............................. SUCCESS [4.771s]

[INFO] Apache Hadoop Pipes ............................... SUCCESS [0.032s]

[INFO] Apache Hadoop OpenStack support ................... SUCCESS [8.030s]

[INFO] Apache Hadoop Client .............................. SUCCESS [7.730s]

[INFO] Apache Hadoop Mini-Cluster ........................ SUCCESS [0.158s]

[INFO] Apache Hadoop Scheduler Load Simulator ............ SUCCESS [7.485s]

[INFO] Apache Hadoop Tools Dist .......................... SUCCESS [6.912s]

[INFO] Apache Hadoop Tools ............................... SUCCESS [0.029s]

[INFO] Apache Hadoop Distribution ........................ SUCCESS [40.425s]

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 21:57.2s

[INFO] Finished at: Mon Apr 21 14:33:22 CST 2014

[INFO] Final Memory: 88M/243M

[INFO] ------------------------------------------------------------------------

下载本文
显示全文
专题