Hadoop 2.5.1编译
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
2、jdk的安装
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
3、Maven的安装
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
4、Ant的安装
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
5、Findbugs的安装
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>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<scope>test</scope>
</dependency>
<!--新增的内容开始 -->
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
<scope>test</scope>
</dependency>
<!--新增的内容结束 -->
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<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-src/hadoop-dist/target中
至此,自己编译的hadoop2.5.1已经完成,经测试不会再在运行的时候出现warning了,确实让人开心!
另外:如果在编译的时候出现问题,不妨考虑一下jdk的版本以及各个软件的版本的问题,我最初用的是jdk8,一直报错,最后尝试了一下jdk7才算成功。