hadoop源码编译
第一次编译要求能够访问互联网,Hadoop的编译依赖非常多的东西,一定要保证机器可访问互联网,否则难逐一解决所有的编译问题,但第一次之后的编译则不用再下载了。
1. 安装依赖
1) JDK
2) Maven 3.0或更新版本
3) ProtocolBuffer 2.5.0
4) CMake 2.6或更新版本
5) Findbugs 1.3.9,可选的
2.1.安装ProtocolBuffer
1) cd /usr/local
2) tar xzf protobuf-2.5.0.tar.gz
3) cd protobuf-2.5.0
4) ./conigure --prefix=/usr/local/protobuf
5) make
6) make check
7) make install
2.2.安装CMake
1) cd /usr/local
2) tar xzf cmake-2.8.12.2.tar.gz
3) cd cmake-2.8.12.2
4) ./bootstrap --prefix=/usr/local/cmake
5) make
6) make install
2.3.安装Maven
1) cd /usr/local
2) tar xzf apache-maven-3.0.5-bin.tar.gz
3) ln -s apache-maven-3.0.5 maven
在安装好之后,还需要设置一下环境变量,可以修改/etc/profile,也可以是修改~/.profile,
3. 编译Hadoop源代码
完成上述准备工作后,即可通过执行命令:
mvn package -Pdist -DskipTests -Dtar,启动对Hadoop源代码的编译。
如果需要编译成本地库(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
编译成功后,会生成Hadoop二进制安装包hadoop-2.4.0.tar.gz,放在源代码的hadoop-dist/target子目录下: