先来无事想安装下hadoop-2.2.0,看看宣传中的许多新特性。再网上找教程的时候忽然发现原来官方只有32位版本的。须要本身对源代码进行编译才能获得64位版本的。赶忙又去网上搜资料,忙活了一天终于编译成功了。 html
具体过程以下: java
下载Hadoop2.2.0源代码包hadoop-2.2.0-src.tar.gz linux
安装相应的依赖包
yum -y install svn ncurses-devel gcc*
yum -y install lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel
这些依赖包建议在linux系统联网的状况下安装 bash
安装并配置java环境
(1)从官网下载java安装包
http://www.oracle.com/technetwork/java/javase/downloads/index.html(选择合适的版本,本文采用的是64位版本)
(2)配置java环境变量
一般是在root用户下修改/etc/下的profile文件,可是此改动会影响整个系统,因此咱们采起第二种方法。在当前用户(本文是hadoop用户)下,ls -a,会发现有一个.bash_profile文件,这个文件是当前用户的配置文件,其配置只会在当前用户下生效。因此咱们在此文件的末尾添加jdk的信息,以下:
export JAVA_HOME=/home/hadoop/Java/jdk1.7.0_51
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
保存退出,并执行source .bash_profile 命令便可。
(3)检查java环境
执行 java -version命令,便可看到安装java的版本。
oracle
安装maven工具
(1)下载地址:http://maven.apache.org/download.cgi
(2)将下载的工具包进行解压后,配置其环境变量
在.bahs_profile文件末尾添加以下内容:
export MAVEN_HOME=/home/hadoop/maven
export PATH=$PATH:$MAVEN_HOME/bin maven
安装protobuf工具
(1)下载地址:http://code.google.com/p/protobuf/downloads/detail?name=protobuf-2.5.0.tar.gz
(2)protobuf工具须要进行编译,按照以下步骤:
解压,设置属主为root chowd -R root.root protobuf-2.5.0
编译安装protobuf
①cd protobuf-2.5.0
②./configure
③make
④make install
(3)检查protobuf的安装状况
protoc --version
svn
对hadoop2.2.0进行编译
(1)执行官方的clean步骤
mvn clean install –DskipTests(可能有一段时间)
执行成功后会出来好多列success提示!!
(2)执行编译
接下来执行hadoop的编译:
mvn package-Pdist,native -DskipTests -Dtar
等待一段时间后会提示已经安装完成,如图:
工具
验证hadoop的编译状况
(1)检查编译结果
进入到hadoop源代码所在目录的/hadoop-dist/target 目录,里边会有编译好的hadoop2.2.0如图所示:
(2)对编译好的hadoop进行验证
1>进入到上步的hadoop2.2.0目录中,会看到里边的目录与官方32位的系统目录相同。
2>进入到bin目录中执行以下命令:
./hadoop version(列出hadoop的版本信息)
3>进入到hadoop-2.2.0目录中执行以下命令:
file lib//native/*
至此,Hadoop-2.2.0的编译工做完成 oop