花了5个小时终于将Hadoop2.6版本成功编译过了,过程中遇到的最多的就是编译环境的版本问题,话不多说,以下是我的编译步骤:
1.准备环境:
1.1 安装gcc yum install gcc yum install gcc-c++
1.2 安装jdk(注意必须jdk,jre不行),版本最好是jdk1.7,否则后边编译会报错
1.3ProtocolBuffer 2.5.0,之前的版本不能成功编译,ProtobolBuf下载地址
编译步骤:
(1) cd protobuf-2.5.0.tar.bz2
(2) ./configure
(3) make
(4) sudo make install
(5) ldconfig (很多文章都没有这步,如果不执行会出错)
环境变量:
(1)在/etc/profile中添加下面一行代码:
export LD_LIBRARY_PATH=/home/wanghy/work/learning/protobuf-2.5.0
检验是否安装成功:
protoc –version
1.4 Maven 最好是最新版本,2.x版本不能编译,Maven下载地址
编译步骤:
(1) tar zxf apache-maven-3.3.1-bin.tar.gz
(2) mv zxf apache-maven-3.3.1-bin /usr/bin/mvn
环境变量:
(1) 在/etc/profile中添加下面代码
export MAVEN_HOME=/usr/bin/mvn
export PATH=$PATH:$MAVEN_HOME/bin
(2) source /etc/profile
测试是否配置成功:
mvn -version
修改配置文件vi /usr/bin/mvn/conf/settings.xml
(1) 在
jdk-1.7
1.7
nexus
local private nexus
http://maven.oschina.net/content/groups/public/
true
false
nexus
local private nexus
http://maven.oschina.net/content/groups/public/
true
false
(2)
在
nexus-osc
*
Nexusosc
http://maven.oschina.net/content/groups/public/
2 编译Hadoop2.6:
(1) cd /hadoop/hadoop-2.6.0-src
(2) mvn clean
(3) mvn package -Pdist,native -DskipTests -Dtar -e
3 编译结果:
可以看到hadoop-dist目录下生成了target目录和一些文件,代表编译成功。