1、环境安装

gcc、gcc-c++、make、cmake、svn

yum install lzo-devel zlib-devel gcc gcc-c++ make cmake autoconf automake libtool ncurses-devel openssl-devel

2jdk的安装

rpm -ivh jdk-8-linux-x64.rpm

vim /etc/profile

export JAVA_HOME=/opt/java/jdk1.7.0_72

export JRE_HOME=$JAVA_HOME/jre

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

3Maven的安装

wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz

tar -zxvf /opt/apache-maven-3.1.1-bin.tar.gz

vim /etc/peofile

export M2_HOME=/opt/java/maven/apache-maven-3.1.1

export PATH=$PATH:$M2_HOME/bin

4Ant的安装

wget http://mirrors.hust.edu.cn/apache//ant/binaries/apache-ant-1.9.4-bin.tar.gz

tar -zxvf /opt/apache-ant-1.9.4-bin.tar.gz

vim /etc/profile

export ANT_HOME=/opt/java/ant/apache-ant-1.9.4

export PATH=$PATH:$ANT_HOME/bin

5Findbugs的安装

wget http://ftp.jaist.ac.jp/pub/sourceforge/f/fi/findbugs/findbugs/3.0.0/findbugs-3.0.0.tar.gz

tar -zxvf /opt/findbugs-3.0.0.tar.gz

vim /etc/profile

export FINDBUGS_HOME=/opt/java/findbugs/findbugs-3.0.0

export PATH=$PATH:$FINDBUGS_HOME/bin

6、安装protobuf

wget http://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz

tar -zxvf /opt/protobuf-2.5.0.tar.gz

cd protobuf-2.5.0

./configure --prefix=/usr/local

make && make install

7、编译hadoop源码

source /etc/profile

7.1修改

修改/root/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth/pom.xml文件,增加补丁内容,这部分是hadoop2.2.0的bug,如果是其他的2.x的版本,可以视情况而定,内容如下:

<dependency>

</dependency>

<!--新增的内容开始 -->

<dependency>

</dependency>

<!--新增的内容结束 -->

<dependency>

<scope>test</scope>

</dependency>

7.2编译

tar -zxvf /opt/hadoop-2.5.1-src.tar.gz

cd hadoop-2.5.1-src

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

Hadoop 2.5.1编译-LMLPHP

最后的文件就在hadoop-2.5.1-src/hadoop-dist/target中

至此,自己编译的hadoop2.5.1已经完成,经测试不会再在运行的时候出现warning了,确实让人开心!

另外:如果在编译的时候出现问题,不妨考虑一下jdk的版本以及各个软件的版本的问题,我最初用的是jdk8,一直报错,最后尝试了一下jdk7才算成功。

05-11 15:11