系统:Ubuntu10.04
内核:2.6.39
Hadoop版本:Hadoop2.2.0
1,下载Hadoop-2.2.0-src.tar.gz解压缩,并且拷贝到/opt文件夹下,下载地址:http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.2.0/
2,安装jdk,这个地方就不详细介绍了
3,安装相关的包
apt-get install g++ autoconf automake libtool make cmake zliglg-dev pkg-config libssl-dev
3,安装maven,下载apache-maven-3.2.1-bin.tar.gz,下载地址:http://maven.apache.org/download.cgi
解压缩tar zxvf apache-maven-3.2.1-bin.tar.gz
vi /etc/profile添加以下内容
export M2_HOME=/opt/apache-maven-3.2.1
export M2=$M2_HOME/bin
export MAVEN_OPTS="-Xms256m -Xmx512m"
export PATH=$M2:$PATH
若安装成功mvn -version
显示结果Apache Maven 3.2.1
4,安装apache-ant-1.9.3-bin.tar.gz,下载地址:http://ant.apache.org/bindownload.cgi
vi /etc/profile添加一下内容
export ANT_HOME=/opt/apache-ant-1.9.3
export PATH=$PATH:$ANT_HOME/bin
5,修改2.2中的BUG
目前的2.2.0的source code压缩包解压出来的code有个bug需要patch后才能编译,修改如下:
vi hadoop-2.2.0-src/hadoop-common-project/hadoop-auth/pom.xml
修改如下:
</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>
6,安装protobuf-2.5.0.zip,下载地址:http://code.google.com/p/protobuf/downloads/list
解压缩unzip protobuf-2.5.0.zip
解压后依次运行
$./configure
$make
$make check
$make check
$make install
若出现问题,可以
vi /etc/profile添加以下内容
export LD_LIBRARY_PATH=/usr/local/lib/
source /etc/profile
检查一下版本protoc --version
libprotoc 2.5.0
7,编译Hadoop2.2.0
cd hadoop-2.2.0-src
mvn package -Pdist,native -DskipTests -Dtar
然后就是等待编译结束,编译成功以后如下图所示:
此时编译好的文件位于hadoop-2.2.0-src/hadoop-dist/target/目录中