Apache官网提供了Hadoop2.5.1已编译的程序,但是在Centos6.5上安装成功后,每当运行hadoop fs ***命令的时候总是会出现
WARN org.apache.hadoop.util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable的警告,虽说不影响运行结果,总是感觉影响心情。
因此搜索各种资料,自己编译源码,比想象中的简单很多,只是在使用JDK的时候因为用了JDK1.8因此出现了一次错误,换成1.7就OK了,下面是安装记录。
一、编译环境:
Centos6.5(64bit) jdk7 ant1.9.4 maven3.1.1 findbugs3.0.0 protobuf2.5.0 hadoop2.5.1 源代码文件以上所需安装的软件已打包上传到csdn资源,版本如上,可移步下载:http://download.csdn.net/detail/picassolovecoding/8001449
二、安装以上所需的所有软件
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
tar zxvf protobuf-2.5.0.tar.gz cd protobuf-2.5.0 ./configure --prefix=/usr/local make && make install
6.安装maven
tar -zxvf apache-maven-3.1.1-bin.tar.gz vim /etc/peofile export M2_HOME=/usr/local/apache-maven-3.1.1 export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
三、编译hadoop源码
tar zxvf 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中