hadoop2.x在apache官网直接下载的并没有64位直接能用的版本,如果我们想在64位系统使用,那么就需要重新编译hadoop,否则直接使用32位的hadoop运行在64位的系统上,将会出现一些库不兼容的异常。如下图所示,最直接的一个异常:
配置环境变量:(路径根据自己的目录进行更改)
一、编译环境:
- Centos6.5(64bit)
- jdk7
- ant1.9.4
- maven3.2.3
- findbugs3.0.0
- protobuf2.5.0
以及hadoop2.3.0的源代码。
二、安装以上所需的所有软件
1.yum可安装的软件
- yum install svn ncurses-devel gcc* lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel
2.安装JDK
- rpm -ivh jdk-7-linux-x64.rpm
- vim /etc/profile
- export JAVA_HOME=/usr/java/jdk1.7.0
- export JRE_HOME=/usr/java/jdk1.7.0/jre
- export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
- export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
3.安装ant
- tar zxvf apache-ant-1.9.4-bin.tar.gz
- vim /etc/profile
- export ANT_HOME=/usr/local/apache-ant-1.9.4
- export PATH=$PATH:$ANT_HOME/bin
4.安装findbugs
- tar zxvf findbugs-3.0.0.tar.gz
- vim /etc/profile
- export FINDBUGS_HOME=/usr/local/findbugs-3.0.0
- export PATH=$PATH:$FINDBUGS_HOME/bin
5.安装protobuf(编译安装时,确保gcc,gc-c++安装成功)
- tar zxvf protobuf-2.5.0.tar.gz
- cd protobuf-2.5.0
- ./configure --prefix=/usr/local
- make && make install
vi /etc/profile
export MAVEN_HOME=/opt/maven3.2.3
export PATH=$PATH:$MAVEN_HOME/bin
source /etc/profile 使配置文件生效
mvn --version来验证是否安装成功
三、编译hadoop源码
- tar zxvf hadoop-2.3.0-src.tar.gz
- cd hadoop-2.3.0-src
- mvn package -Pdist,native,docs -DskipTests -Dtar
最后的文件就在hadoop-2.3.0-src/hadoop-dist/target中。
参考链接:
http://www.tuicool.com/articles/rANjYv
http://blog.csdn.net/picassolovecoding/article/details/39529541