hadoop2.5.0源码编译

hadoop2.5.0源码编译

标签(空格分隔): hadoop2.5.0 centOS Maven Protobuf JDK 源码编译

1.编译软硬件基本环境

1.1、硬件环境:

操作系统:CentOS 6.4版本64位

1.2、软件环境:

hadoop:    2.5.0
JDK:       1.7.0
maven:     3.0.5
protobuf:  2.5.0
findbugs:  1.3.9

到相应官网下载好相应软件,并且解压到linux相应目录
hadoop:https://archive.apache.org/dist/hadoop/common/hadoop-2.5.0/
JDK1:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
maven:http://maven.apache.org/docs/3.0.5/release-notes.html
protobuf:http://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz
findbugs:http://sourceforge.net/projects/findbugs/

2.确认linux网络正常

设置为网络连接方式为“Nat连接”,设置自动获取IP。

验证方法:
在终端输入命令:ping www.baidu.com
[xuxu@bigdata01 ~]$ ping www.baidu.com
PING www.a.shifen.com (58.217.200.37) 56(84) bytes of data.
64 bytes from 58.217.200.37: icmp_seq=1 ttl=128 time=63.0 ms
64 bytes from 58.217.200.37: icmp_seq=2 ttl=128 time=60.8 ms
64 bytes from 58.217.200.37: icmp_seq=3 ttl=128 time=64.4 ms
64 bytes from 58.217.200.37: icmp_seq=4 ttl=128 time=62.0 ms

3.停止hadoop守护进程

比如namenode/datanode/resourcemanager/nodemanager...

4.linux下安装JDK

 JDK解压后,只需配置环境变量即可。
 命令:$sudo vi /etc/profile
在该文件末尾加上下面两句

export JAVA_HOME=/opt/modules/jdk1.7.0_67 //JDK解压的目录
export PATH=$PATH:$JAVA_HOME/bin

<验证是否成功>
命令:source /etc/profile //每次配置环境变量都需要source
命令:java -version
显示如下,就证明已成功!

java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

5.安装maven

maven解压后,只需配置环境变量即可。

 命令:$sudo vi /etc/profile
 在该文件末尾加上下面两句

 export MAVEN_HOME=/opt/modules/apache-maven-3.0.5  //maven解压目录
 export PATH=.:$MAVEN_HOME/bin:$PATH

<验证是否成功>

命令:source /etc/profile //每次配置环境变量都需要source
命令:java -version
有如下信息,就证明已成功!

Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 08:51:28-0500)
Maven home: /opt/modules/apache-maven-3.0.5
Java version: 1.7.0_67, vendor: Oracle Corporation
Java home: /opt/modules/jdk1.7.0_67/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-358.el6.x86_64", arch:     "amd64", family: "unix"

6.安装protobuf

安装Protobuf,其安装需要对Protobuf进行编译,故我们需要编译的依赖环境gcc、gcc-c++、cmake、openssl-devel、ncurses-devel,安装命令如下所示:

sudo yum -y install gcc   
sudo yum -y install gcc-c++
sudo yum -y install cmake
sudo yum -y install openssl-devel
sudo yum -y install ncurses-devel

下面一步步验证这些编译环境是否安装成功.

6.1、gcc成功安装验证信息如下

[xuxu@bigdata01 modules]$ sudo gcc -v
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr                 --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) 

6.2、cmake安装成功信息如下:

[xuxu@bigdata01 modules]$ sudo make -v
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying     conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for x86_64-redhat-linux-gnu

6.3、现在开始去编译Protobuf,编译命令如下所示:

 [xuxu@bigdata01 protobuf-2.5.0]$ sudo ./configure --prefix=/usr/local/protoc

[xuxu@bigdata01 protobuf-2.5.0] sudomake[xuxu@bigdata01protobuf2.5.0] sudo make install

6.4、验证protobuf是否安装成功

[xuxu@bigdata01 protobuf-2.5.0]$ protoc --version

libprotoc 2.5.0
[xuxu@bigdata01 protobuf-2.5.0]$

7.现在开始编译hadoop2.5.0

在编译hadoop源码之前,首先应该先配置下以下信息

[xuxu@bigdata01 modules]$ sudo vi apache-maven-3.0.5/conf/settings.xml 
在该文件的
<mirrors>处增加以下内容
<mirror>
  <id>nexus-osc</id>
  <mirrorOf>*</mirrorOf>
  <name>Nexus osc</name>
  <url>http://maven.oschina.net/content/groups/public/</url>
</mirror>

这是配置国内镜像用的,增加这个可以让编译源码的时候不用到国外的服务器上下载jar包,减少编译时间。


然后进入hadoop源码目录,进行编译…

[xuxu@bigdata01 modules]$ cd hadoop-2.5.0-src/

[xuxu@bigdata01 hadoop-2.5.0-src] mvnpackageDskipTestsPdist,native[INFO]hadoopyarnapplications..SUCCESS[0.195s][INFO]hadoopyarnapplicationsdistributedshellSUCCESS[5.060s][INFO]hadoopyarnapplicationsunmanagedamlauncher.SUCCESS[2.508s][INFO]hadoopyarnsite.SUCCESS[0.079s][INFO]hadoopyarnproject.SUCCESS[4.953s][INFO]hadoopmapreduceclientSUCCESS[0.092s][INFO]hadoopmapreduceclientcore.SUCCESS[32.330s][INFO]hadoopmapreduceclientcommon..SUCCESS[24.894s][INFO]hadoopmapreduceclientshuffle.SUCCESS[5.300s][INFO]hadoopmapreduceclientapp..SUCCESS[14.665s][INFO]hadoopmapreduceclienthsSUCCESS[11.212s][INFO]hadoopmapreduceclientjobclient..SUCCESS[10.009s][INFO]hadoopmapreduceclienthsplugins.SUCCESS[2.140s][INFO]ApacheHadoopMapReduceExamplesSUCCESS[8.650s][INFO]hadoopmapreduce.SUCCESS[3.737s][INFO]ApacheHadoopMapReduceStreaming..SUCCESS[6.551s][INFO]ApacheHadoopDistributedCopy..SUCCESS[17.672s][INFO]ApacheHadoopArchives.SUCCESS[2.332s][INFO]ApacheHadoopRumen.SUCCESS[11.085s][INFO]ApacheHadoopGridmix..SUCCESS[5.454s][INFO]ApacheHadoopDataJoinSUCCESS[3.467s][INFO]ApacheHadoopExtrasSUCCESS[3.664s][INFO]ApacheHadoopPipes.SUCCESS[10.255s][INFO]ApacheHadoopOpenStacksupport.SUCCESS[7.210s][INFO]ApacheHadoopClientSUCCESS[4.480s][INFO]ApacheHadoopMiniClusterSUCCESS[0.213s][INFO]ApacheHadoopSchedulerLoadSimulatorSUCCESS[7.422s][INFO]ApacheHadoopToolsDist..SUCCESS[3.368s][INFO]ApacheHadoopTools.SUCCESS[0.171s][INFO]ApacheHadoopDistributionSUCCESS[18.150s][INFO][INFO]BUILDSUCCESS[INFO][INFO]Totaltime:26:47.448s[INFO]Finishedat:ThuNov0508:28:39EST2015[INFO]FinalMemory:129M/454M[INFO][xuxu@bigdata01hadoop2.5.0src]

严格按照以上步骤配置并且每一步都验证成功后,如果还出现编译failure的情况,可能是网络问题,请重新再执行一次编译命令。有时候需要重新编译七八次才成功都有可能。当然,你也要看编译log信息。

以上都是我一步步自己验证过的,如有不对之处,请指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值