linux 编译hadoop 源码

因为官方提供的hadoop下载包是32位的,所以64要自己手动编译

安装jdk(1.7+),maven(3.0 or later) 的教程就掠过了。hadoop编译要求很好,所以要遵循官方文档里说的版本

安装findbugs

版本:1.3.9

下载地址:https://sourceforge.net/projects/findbugs/files/findbugs/1.3.9/findbugs-1.3.9.tar.gz/download

vim /etc/profile  
export FINDBUGS_HOME=/usr/local/findbugs-3.0.0  
export PATH=$PATH:$FINDBUGS_HOME/bin  
source /etc/profile

安装protobuf

 版本:2.5.0

下载地址:(官方已不提供下载) http://pan.baidu.com/s/1hrbQbRY

tar zxvf protobuf-2.5.0.tar.gz  
cd protobuf-2.5.0  
./configure
make && make install 
protoc --version

如果成功,则会输出版本号信息,例如:libprotoc 2.5.0

如果有问题,则会输出错误内容。

遇到的问题:

protoc: error while loading shared libraries: libprotoc.so.8: cannot open shared

错误原因:
protobuf的默认安装路径是/usr/local/lib,而/usr/local/lib 不在Ubuntu体系默认的 LD_LIBRARY_PATH 里,所以就找不到该lib
解决方法:

  1. 创建文件 /etc/ld.so.conf.d/libprotobuf.conf 包含内容:

/usr/local/lib

2. 输入命令

sudo ldconfig

这时,再运行protoc --version 就可以正常看到版本号了。

安装CMake

版本:2.6 or newe

我是直接软件源安装的:apt-get install cmake

有教程说这部可以不安装,但是我编译的时候报错找不到依赖,或许你可以试试。

编译hadoop源码

版本:2.7.2

下载地址:http://apache.fayea.com/hadoop/common/hadoop-2.7.2/

tar zxvf hadoop-2.7.2-src.tar.gz  
cd hadoop-2.7.2-src  
mvn package -Pdist,native -DskipTests -Dtar

如果需要安装api:

  mvn package -Pdist,native,docs -DskipTests -Dtar

编译花费了半个小时,如果你的网速很慢还要更长。

后面还遇到了一些问题,没有安装依赖:

sudo apt-get install libglib2.0-dev 
sudo apt-get install build-essential
sudo apt-get install libssl-dev
sudo apt-get install zlib1g-dev


你可能感兴趣的:(linux 编译hadoop 源码)