IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]hadoop2.2.0源码编译(ubuntu)

    book_mmicky发表于 2014-05-13 15:21:23
    love 0
    1:下载相关的软件
    A:预安装相关软件包:
    mmicky@wyy:/app$ sudo apt-get -y install maven build-essential autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev

    B:下载需要的软件
    * hadoop2.2.0_src http://hadoop.apache.org
    * JDK1.6 以上 http://www.oralce.com
    * ProtocolBuffer 2.4.1+ (for MapReduce and HDFS) http://code.google.com/p/protobuf/downloads/list
    * findbugs2.0.2 

    2:安装findbugs
    mmicky@wyy:/app$ sudo tar zxf /home/mmicky/Soft/hadoop/findbugs-2.0.2.tar.gz
    mmicky@wyy:/app$ sudo mv findbugs-2.0.2 findbugs202
    mmicky@wyy:/app$ vi ~/.bashrc
    增加两行:
    export FINDBUGS_HOME=/app/findbugs202
    export PATH=${FINDBUGS_HOME}/bin:$PATH
    mmicky@wyy:/app$ source ~/.bashrc
    注意:必须是设置为FINDBUGS_HOME,在编译的时候会引用${FINDBUGS_HOME}变量

    3:安装ProtocolBuffer
    mmicky@wyy:/app$ sudo tar zxf /home/mmicky/Soft/hadoop/protobuf-2.5.0.tar.gz
    mmicky@wyy:/app$ cd protobuf-2.5.0
    mmicky@wyy:/app/protobuf-2.5.0$ sudo ./configure
    mmicky@wyy:/app/protobuf-2.5.0$ sudo make
    mmicky@wyy:/app/protobuf-2.5.0$ sudo make check
    mmicky@wyy:/app/protobuf-2.5.0$ sudo make install
    mmicky@wyy:/app/protobuf-2.5.0$ protoc --version
    protoc: error while loading shared libraries: libprotoc.so.8: cannot open shared object file: No such file or directory
    原因:
    ubuntu系统/usr/local/lib路径并不包含在LD_LIBRARY_PATH中
    解决方法一:
    mmicky@wyy:/app/protobuf-2.5.0$ sudo make uninstall
    mmicky@wyy:/app/protobuf-2.5.0$ sudo make clean
    mmicky@wyy:/app/protobuf-2.5.0$ sudo ./configure --prefix=/usr
    mmicky@wyy:/app/protobuf-2.5.0$ sudo make
    mmicky@wyy:/app/protobuf-2.5.0$ sudo make check
    mmicky@wyy:/app/protobuf-2.5.0$ sudo make install
    mmicky@wyy:/app/protobuf-2.5.0$ protoc --version
    解决办法二:
    mmicky@wyy:/app/protobuf-2.5.0$ sudo vi /etc/ld.so.conf.d/libprotobuf.conf 
    增加一行:
    /usr/local/lib
    mmicky@wyy:/app/protobuf-2.5.0$ sudo ldconfig
    mmicky@wyy:/app/protobuf-2.5.0$ protoc --version

    4:编译hadoop2.2.0(编译的时候必须在线,要下载相关的软件包)
    SNV获取源码地址:http://svn.apache.org/repos/asf/hadoop/common
    Gits获取源码地址:git://git.apache.org/hadoop-common.git
    mmicky@wyy:/app$ sudo tar zxf /home/mmicky/Soft/hadoop/hadoop-2.2.0-src.tar.gz
    mmicky@wyy:/app$ sudo chown -R mmicky:mmicky hadoop-2.2.0-src
    mmicky@wyy:/app$ cd hadoop-2.2.0-src/
    mmicky@wyy:/app/hadoop-2.2.0-src$
    mmicky@wyy:/app/hadoop-2.2.0-src$ mvn clean package -DskipTests -Pdist,native,docs -Dtar
    。。。。。漫长的等待中。。。。。

      以上编译没经过测试。

    5:编译前最好检查一下maven、ProtocolBuffer、cmake、findbugs、ant是否已经安装,本篇第一步就安装了maven和cmake,所以不需要额外安装。编译好后的hadoop2.2.0的安装包是hadoop220_src/hadoop-dist/hadoop-2.2.0.tar.gz文件


沪ICP备19023445号-2号
友情链接