yum -y install lzo-devel zlib-devel gcc autoconf automake libtool gcc-c++ openssl-devel ncurses-devel
ant maven protocolbuf findbugs cmake
1、Protobuf 编译安装
tar -zxvf protobuf-2.5.0.tar.gz
cd protobuf-2.5.0
./configure --prefix=/usr/local/protobuf
make
make install
2、Ant 安装
tar -zxvf apache-ant-1.9.2-bin.tar.gz
mv apache-ant-1.9.2/ /usr/local/ant
3、编译前的准备maven,官方下载地址
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.zip
maven 安装
tar -zxvf apache-maven-3.0.5-bin.tar.gz
mv apache-maven-3.0.5/ /usr/local/maven
4、findbugs 安装
tar -zxfv findbugs-2.0.2.tar.gz
mv findbugs-2.0.2/ /usr/local/findbugs
5、cmake 编译安装
tar -zvxf cmake-2.8.6.tar.gz
cd cmake-2.8.6
./bootstrap
gmake
make
make install
6、下载对应的64位的JDK
#java 安装 /usr/local/jdk1.7.0_45
7、配置环境
vi /etc/profile
#java
export JAVA_HOME=/usr/local/jdk1.7.0_45
export JRE_HOME=/usr/local/jdk1.7.0_45/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
#maven
export MAVEN_HOME=/usr/local/maven
export MAVEN_OPTS="-Xms256m -Xmx512m"
export CLASSPATH=.:$CLASSPATH:$MAVEN_HOME/lib
export PATH=$PATH:$MAVEN_HOME/bin
#protobuf
export PROTOBUF_HOME=/usr/local/protobuf
export CLASSPATH=.:$CLASSPATH:$PROTOBUF_HOME/lib
export PATH=$PATH:$PROTOBUF_HOME/bin
#ant
export ANT_HOME=/usr/local/ant
export CLASSPATH=.:$CLASSPATH:$ANT_HOME/lib
export PATH=$PATH:$ANT_HOME/bin
#findbugs
export FINDBUGS_HOME=/usr/local/findbugs
export CLASSPATH=.:$CLASSPATH:$FINDBUGS_HOME/lib
export PATH=$PATH:$FINDBUGS_HOME/bin
source /etc/profile
8、如果是你32bit的机器,可以直接下载官方已经编译好的包,64bit的机子跑编译好的包跑不了。
由于maven国外服务器可能连不上,先给maven配置一下国内镜像,在maven目录下,conf/settings.xml,在里添加,原本的不要动
hadoop源码地址下:
cd hadoop-maven-plugins
mvn install
9、首先官方下载hadoop源码
wget http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.2.0/hadoop-2.2.0-src.tar.gz
编译clean
cd hadoop2.2.0-src
mvn clean install –DskipTests
目前的2.2.0 的Source Code 压缩包解压出来的code有个bug 需要patch后才能编译。否则编译hadoop-auth 会提示错误:
vi /hadoop-2.2.0/hadoop-common-project/hadoop-auth/pom.xml
org.mortbay.jetty
jetty
test
在上面代码后添加下面代码
org.mortbay.jetty
jetty-util
test
注:不更改可能报下面错位
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:testCompile (default-testCompile) on project hadoop-auth: Compilation failure: Compilation failure: ----------------------------------------------------------------------------------------------
ok,现在可以进行编译了
mvn clean package -Pdist,native -DskipTests -Dtar
如果出现错误可以加上-X显示错误详细信息:
mvn -X package -DskipTests -Pdist,native –Dtar
通过mvn package总是失败,可以考虑通过mvn compile来,如下:
mvn compile -Pdist,native -Dskiptests -Dtar
慢慢等吧!