官网下载的 hadoop执行运行报警告:
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
put: `./in': No such file or directory
主要是lib下的native-hadoop 是32位的,所以这里我们自己在64位的系统上编译hadoop
环境准备:
1 下载hadoop src源码包
2 所需软件:java, svn, autoconf, automake, libtool, ncurses-devel, openssl-devel, gcc, lzo-devel, zlib-devel, znt, maven, protobuf, cmake
yum -y install autoconf automake libtool ncurses-devel openssl-devel gcc lzo-devel, zlib-devel cmake
3 安装jdk
下载jdk bin包并解压
添加jdk环境变量
在/etc/profile文件下添加
## JAVA
export JAVA_HOME=/usr/local/java/jdk
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
## PATH
export PATH=$JAVA_HOME/bin
让重载环境变量 . /etc/profile
4 maven安装
apache官网下载 maven并解压,然后把其 bin路径添加到环境变量
mvn -version
5 protobuf安装
到网上搜索 protobuf-2.5.0.tar.gz,下载解压,
./configure; make; make install
protoc --version
6 ANT安装
apache官网下载 ANT bin包解压,把其bin路径添加到环境变量中
7 编译hadoop
mvn package -Pdist,native,docs -DskipTests -Dtar
这里需要一个多小时或更久,并需要联网下载依赖包
最后文件在 hadoop-2.7.2-src/hadoop-dist/target 中
可以直接拿 hadoop-2.7.2目录去部署,还有一个hadoop-2.7.2.tar.gz包