默认官方提供的包一般都是32bit的native库文件,cdh4版本的直接无库文件,但是在生产上一般都是64bit操作系统,所以库文件是需要重新编译的,本文就针对重新编译hadoop2.2源码包做了整理,参考了很多文章,最终形成一个比较稳定的编译过程,2.0以上版本应该都通用,没有全部测试,JDK版本还有protoc版本换一下就成。
本文编译环境:
操作系统:redhat 6.2 64bit
依赖组件安装:
SUN JDK1.7以上,64bit(切记)----官方的build文件中是1.6,实际编译是有问题的
Maven 3.0
Findbugs 1.3.9以上版本
ProtocolBuffer 2.5.0
CMake 2.6 or newer
要求能上网
openssl
gcc
gcc-c++
ant
安装步骤:
jdk:下载tar包解压后设置环境变量就可
安装gcc,gcc-c++,ant,openssl,cmake,openssl-devel----yum install gcc,gcc-c++,ant,openssl,cmake,openssl-devel
安装ProtocolBuffer:configure && make && make install
安装findbugs,maven:下载tar包直接解压,设置环境变量就可
环境变量设置:
mvn package -Pdist,native -DskipTests -Dtar
编译成功后在/opt/hadoop-2.0.0-cdh4.2.1/src/hadoop-dist/target会形成新的tar包,你也可以将生成native库文件直接拷到下载的包中使用。