[关闭]
@awsekfozc 2016-01-08T19:07:21.000000Z 字数 1508 阅读 3064

编译hadoop源码

Hadoop


一、准备资料

64位linux系统。我使用的是 CentOS
1、JDK 1.7+。注:使用1.7即可,如果是1.8则会编译失败,1.6没有试过,看网上大牛的帖子说也能过
2、maven-3.2.5。 这是apache的一个产品,hadoop的编译要就是3.0以上
3、protobuf 注:谷歌的产品,最好是提前百度准备一下这个文件
4、hadoop-2.5.2-src 这个可以到Apache的官网上去下载
5、安装其他依赖


二、编译hadoop源码步骤

1. 下载hadoop源码

hadoop源码下载

2.安装JDK

3.安装maven

maven下载地址

  1. <!--解压-->
  2. unzip apache-maven-3.0.5-bin.zi
  3. <!--添加maven到环境变量-->
  4. # vi /etc/profile
  5. export MAVEN_HOME=/home/hadoop/app/apache-maven-3.0.5
  6. export PATH=.:$MAVEN_HOME/bin:$PATH
  7. <!--配置生效-->
  8. # source /etc/profile
  9. <!--验证-->
  10. $ mvn -version

查看maven安装.png-11.6kB

配置镜像

jar包默认从国外的网站下载可能很慢 建议在 maven根目录下的 ./confg/settings.xml 的mirrors节点下配置

  1. <mirror>
  2. <id>nexus-osc</id>
  3. <mirrorOf>*</mirrorOf>
  4. <name>Nexus osc</name>
  5. <url>http://maven.oschina.net/content/groups/public/</url>
  6. </mirror>

配置镜像.png-9.6kB

配置后maven下载jar包就会从国内的网站 oschina网站下载

域名解析服务器

  1. # vi /etc/resolv.conf
  2. <!--加入以下内容-->
  3. nameserver 8.8.8.8
  4. nameserver 8.8.4.4

域名解析服务器.png-5.8kB

4.安装protobuf

  1. <!--为了编译安装protobuf,需要先gcc/gcc-c++/make-->
  2. $ sudo yum install gcc
  3. $ sudo yum install gcc-c++
  4. $ sudo yum install make
  5. <!--解压protobuf-->
  6. $ tar -zvxf protobuf-2.5.0.tar.gz
  7. $ cd protobuf-2.5.0
  8. $ ./configure --prefix=/usr/local/protoc/
  9. $ sudo make
  10. $ sudo make install
  11. <!--添加protobuf到环境变量-->
  12. # vi /etc/profile
  13. export PATH=.:/usr/local/protoc/bin:$PATH
  14. <!--配置生效-->
  15. # source /etc/profile
  16. <!--验证-->
  17. protoc --version
  18. libprotoc 2.5.0

protoc.png-2.4kB

5.安装其他依赖

  1. $ sudo yum install cmake
  2. $ sudo yum install openssl-devel
  3. $ sudo yum install ncurses-devel

6.编译hadoop源代码

  1. <!--至要编译的源码目录-->
  2. # cd /opt/modules/hadoop-2.5.0-src
  3. <!--编译-->
  4. mvn package -Pdist,native -DskipTests -Dtar

编译成功.png-35.2kB

查看编译成功的包
编译后的目录.png-11.2kB
如果命令执行失败,则重新安装一次即可以。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注