学习总结二十:坑爹呀,hadoop2源码编译

本文吸取了网上大牛吴老师的编译经验。按照他的总结并亲自实践,做了几次,终于把源码编译好了。原来是内存分配小了。
 

安装步聚整理:
1.安装CentOS
在VMWare虚拟机,安装CentOS6.5版本, 内存 分配2GB, 磁盘空间  分配2 0GB。内存太小,会比较慢;磁盘太小,编译时可能会出现空间不足的情况。注意 一定要保持linux联网状态。(前面三次按装,两次是因为联网问题,安装失败,最后一次按装失败是因为内存分配过小)
centos6.5下载地址:
http://mirror.neu.edu.cn/centos/6.5/isos/x86_64/ ,选择 CentOS-6.5-x86_64-bin-DVD1.iso  下载  

2.安装JDK  
  从oracle官网下载jdk,下载地址是 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html ,选择 jdk-7u45-linux-x64.tar.gz下载。
执行以下命令:
tar -zxvf jdk-7u45-linux-x64.tar.gz
vi /etc/profile
加入以下内容:
export  
JAVA_HOME =/usr/local/jdk1.7.0_45
export    PATH=.:$ JAVA_HOME /bin:$PATH

保存退出文件后,执行以下命令
source /etc/profile 
   
java -version
 
 
3.安装maven
从maven官网下载,下载地址是 http://maven.apache.org/download.cgi ,选择 apache-maven-3.0.5-bin.tar.gz 下载,不要选择3.1下载。
执行以下命令:  
tar -zxvf apache-maven-3.0.5-bin.tar.gz
vi  /etc/profile  
修改内容如下:
export  
MAVEN _HOME =/usr/local/ apache-maven-3.0.5
export   JAVA_HOME =/usr/local/jdk1.7.0_45    
export    PATH=.:$  MAVEN _HOME  /bin :$ JAVA_HOME /bin:$PATH

保存退出文件后,执行以下命令
source /etc/profile 
mvn -version

4.安装findbugs(可选步骤)
从findbugs官网下载findbugs,下载地址是 http://sourceforge.jp/projects/sfnet_findbugs/releases/ ,选择findbugs-3.0.0-dev-20131204-e3cbbd5.tar.gz下载。  
执行以下命令:  
tar -zxvf findbugs-3.0.0-dev-20131204-e3cbbd5.tar.gz
     
vi  /etc/profile  
修改内容如下:
export FINDBUGS_HOME=/usr/local/
findbugs-3.0.0-dev-20131204-e3cbbd5  
export MAVEN_HOME=/usr/local/
apache-maven-3.0.5
export  JAVA_HOME =/usr/local/jdk1.7.0_45    
export    PATH=.:$ FINDBUGS_HOME  /bin :$  MAVEN _HOME  /bin :$ JAVA_HOME /bin:$PATH  
保存退出文件后,执行以下命令
source /etc/profile      
findbugs -version
 

5.安装protoc  
从protoc官网下载protoc,下载地址是 https://code.google.com/p/protobuf/downloads/list ,选择protobuf-2.5.0.tar.gz 下载。  

为了编译安装protoc,需要下载几个工具,顺序执行以下命令
yum install gcc
yum intall gcc-c++ 
yum install make
如果操作系统是CentOS6.5那么gcc和make已经安装了。其他版本不一定。在命令运行时,需要用户经常输入“y”。

执行以下命令:  
tar -zxvf protobuf-2.5.0.tar.gz
会生成一个文件夹protobuf-2.5.0,执行以下命令编译protobuf  
cd protobuf-2.5.0
./configure --prefix=/usr/local/protoc/ 
make && make install
 

vi  /etc/profile  
修改内容如下:
export FINDBUGS_HOME=/usr/local/
findbugs-3.0.0-dev-20131204-e3cbbd5  
export MAVEN_HOME=/usr/local/
apache-maven-3.0.5
export JAVA_HOME=/usr/local/jdk1.7.0_45    
export    PATH=.:/usr/local/protoc/bin:$ FINDBUGS_HOME  /bin :$  MAVEN _HOME  /bin :$JAVA_HOME/bin:$PATH  
保存退出文件后,执行以下命令
source /etc/profile 
protoc --version

6.安装其他依赖
顺序执行以下命令
yum install cmake
yum install openssl-devel
yum install ncurses-devel
安装完毕即可。

7.编译hadoop2.2源码
从hadoop官网下载2.2稳定版,下载地址是 http://apache.fayea.com/apache-mirror/hadoop/common/stable2/ ,下载hadoop-2.2.0-src.tar.gz   下载。


执行以下命令解压缩jdk

tar -zxvf hadoop-2.2.0-src.tar.gz
会生成一个文件夹 hadoop-2.2.0-src。源代码中有个bug,这里需要修改一下,编辑目录/usr/local/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth中的文件pom.xml,执行以下命令

gedit pom.xml

在第55行下增加以下内容

<dependency> 
    <groupId>org.mortbay.jetty</groupId> 
   <artifactId>jetty-util</artifactId> 
   <scope>test</scope>
</dependency>

保存退出即可。    

最后执行如下命令:
cd  
/usr/local/hadoop-2.2.0-src
mvn package -DskipTests -Pdist,native,docs  
大概1个多钟头后,如果看到以下图中红色圈起部分,说明编译成功
 
编译后的代码在/usr/local/hadoop-2.2.0-src/hadoop-dist/target下面  
 可以执行如下命令查看
cd  
/usr/local/hadoop-2.2.0-src/hadoop-dist/target
ls
可以看到如下文件目录结构,说明已经把hadoop2.2编译好了
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值