码迷,mamicode.com
首页 > 其他好文 > 详细

编译Hadoop源码

时间:2016-10-02 00:21:33      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

背景: 在阅读hadoop源代码过程中会发现部分类或者函数无法找到,这是由于Hadoop2.0使用了Protocol Buffers定义了RPC协议,

   而这些Protocol Buffers文件在Maven编译源代码才会生成对应的java类,因此若其他类在源代码中引用这些类则暂时无法找到。

   解决办法就是先对hadoop源码进行编译,再导入eclipse工程。

一、基础软件:

软件 下载地址 推荐版本
JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html 1.7以上
Maven https://maven.apache.org/download.cgi 3.0.2以上
Eclipse https://eclipse.org/downloads/  
Protocol Buffers https://github.com/google/protobuf/releases 2.5.0

 

 

 

 

 

 

 

注: Protocol Buffers在全文中简写成PB

二、编译Hadoop源码

  在Linux环境下编译源码之前,需要进行以下准备:

  • 确保安装的Maven版本在3.0.2以上
  • 确保Protocol Buffers安装版本为2.5.0   

  1、安装PB

    参照site: https://github.com/google/protobuf/blob/master/src/README.md

    从源代码编译的protobuf,需要以下工具:

    > autoconf

    > automake

    > libtool

    > curl (used to download gmock)

    > make

    > g++

    > unzip

    (1). 在ubuntu下可通过以下命令安装:

      $ sudo apt-get install autoconf automake libtool curl make g++ unzip

    (2). 生成配置脚本

      进入PB解压目录  cd {PB_HOME}

      执行:  ./autogen.sh

      此命令将下载gmock源(这是用于C协议缓冲单元测试)到当前目录并且运行automake,autoconf等来生成配置脚本和各种模板的makefile

    (3). 编译

      $ ./configure

      $ make

      $ make check

      $ sudo make install

      $ sudo ldconfig # refresh shared library cache.  
  2、编译所有源码

     在Hadoop安装根目录下执行以下命令

      mvn install -DskipTests

       注: 如果一次不成功,请多试几次。

      技术分享

    

 

编译Hadoop源码

标签:

原文地址:http://www.cnblogs.com/yinchengzhe/p/5503823.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!