hadoop2.6.1源码编译

来源:互联网 发布:知乎怎么看文章阅读量 编辑:程序博客网 时间:2024/06/05 07:23

http://blog.csdn.net/linlinv3/article/details/49358217

编译步骤:

首先需要在虚拟机进行下面软件的安装

1、安装jdk 配置环境变量

安装过程如下: http://blog.csdn.net/linlinv3/article/details/45060705   

2、安装maven 配置环境变量

下载地址  http://maven.apache.org/download.cgi 根据需要下载适合自己的版本,我选择的是3.3.3
解压   tar -zxvf apache-maven-3.3.3-bin.tar.gz  到  /usr/soft
配置maven环境变量
$ sudo sudo vim /etc/profile
 
export MAVEN_HOME=/usr/soft/apache-maven-3.3.3export PATH=.:$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
$ source /etc/profile
 mvn -version
 检验是否安装成功;

3、安装依赖库

sudo apt-get install g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev

4、安装protobuf

下载地址:http://download.csdn.net/detail/linlinv3/9203869(必须使用2.5.0及以上版本 否则会报错
之前我使用的是2.4.1版本 报错了。改为2.5.0

 解压   tar -zxvf protobuf-2.5.0.tar.gz  到  /usr/soft
$ cd  /usr/soft/protobuf-2.5.0
$ ./configure --prefix=/usr/soft/protobuf-2.5.0$ make$ make install
输入  protoc --version 验证是否成功,出现 libprotoc 2.5.0证明成功!
-------------------------
http://blog.csdn.net/xocoder/article/details/9155901  question1,attached 1
http://wenku.baidu.com/link?url=QqArdNWMuOBkC5PtUwP4v9mb-Ig6y-qoU7u3LhrMEbG0C8DA-m4g0foGJ6dvfo1PU0aeoxYu0i3zPsOrgIkaAB902w-PkAxdlWxdicwuJS3    question2 before make install, we need to "make clean"

5、编译Hadoop

先把源码拷贝到 linux上,hadoop版本下载地址:http://hadoop.apache.org/releases.html  我使用的是2.6.1版本,进入源码目录 我的是  /home/lin
解压源码:
$ tar -zxvf hadoop-2.6.1-src.tar.gz
进入源码目录执行
$ cd hadoop-2.6.1-src
$ mvn clean package -Pdist,native -DskipTests -Dtar 
等待结果......经过漫长的等待。如果看到如下结果证明编译成功!


5、查看编译后的文件

进入目录:
$ cd /hadoop/hadoop-2.6.1-src/hadoop-dist/target/hadoop-2.6.1/lib/native
$ file*


编译成功!














--------------------add
1.下载protobuf
下载地址:http://code.google.com/p/protobuf/downloads/list


2.编译protobuf
解压下载的zip包,cd到protobuf的目录下,执行以下指令:
./configure
make
make check
make install


3.检查安装是否成功
protoc --version
如果成功,则会输出版本号信息,例如:libprotoc 2.5.0
如果有问题,则会输出错误内容。


4.错误及解决方法
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 包含内容:
[plain] view plain copy print?
  1. /usr/local/lib  
2. 输入命令
sudo ldconfig 


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


0 0