centos6.564位下如何编译hadoop2.5.1源码

这篇文章主要介绍centos6.5 64位下如何编译hadoop2.5.1源码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的大安网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

  1. 需要的工具:centos6.5 -64bit

     jdk1.7.0.71    

    maven3.23  (http://mirrors.cnnic.cn/apache/maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.tar.gz)

    ant1.9 (http://mirrors.cnnic.cn/apache//ant/binaries/apache-ant-1.9.4-bin.tar.gz)

    findbugs (http://cznic.dl.sourceforge.net/project/findbugs/findbugs/2.0.3/findbugs-2.0.3.tar.gz)

  2. 需要的软件:java, svn, autoconf, automake, libtool, ncurses-devel, openssl-devel, gcc, lzo-devel, zlib-devel, znt, maven, protobuf, cmake

     

    检测系统中是否已安装了某一软件命令:rpm -qa|grep 软件名,如检测系统中是否安装了svn:

    $ rpm -qa|grep svn

    centos6.5 64位下如何编译hadoop2.5.1源码

  3. 如果已安装,则跳过,如果没有安装,用命令:yum install svn进行安装,如:

    $ yum install svn

     

    如果yum命令安装失败(找不到相应的包),则需手动下载相应的软件包进行安装,比如maven, protobuf这两个个软件;

        接下需要首先去apach官网下载hadoop2.5.1源码包,并解压;之后安装jdk、maven、ant.详细步骤网上很多。

        问题导读:

        1.如果获取hadoop src  maven包?
        2.编译hadoop需要装哪些软件?
        3.如何编译hadoop2.4?
        扩展:
        编译hadoop为何安装这些软件?

        protobuf的安装
            为防止出错,这里补充一些内容,
                先安装g++

                sudo apt-get install g++

                centos 下:yum install gcc-c++

           下载 protobuf-2.5.0.tar.gz   网盘下载链接:http://pan.baidu.com/s/1dDgWe6P 密码:xgiu

         解压  tar zxvf protobuf-2.5.0.tar.gz 

            $ sudo ./configure 

            $ sudo make 

            $ sudo make check 

            $ sudo make install 

            $ sudo ldconfig 

            如果系统中已经存在了低版本的protobuf,并被识别出来,则进行如下设置

            修改环境变量:

            vi /etc/profile

           export LD_LIBRARY_PATH=~/protobuf-2.5.0 

         (LD_LIBRARY_PATH的这里,填写的是protobuf文件的位置)

         source /etc/profile

        注意:配置/etc/profile,在虚拟机重启后,可能配置会失效,所以重启后,需要再次执行source操作。

        验证   protoc --version

centos6.5 64位下如何编译hadoop2.5.1源码 

      .安装openssl库

      sudo apt-get install libssl-dev  / yum install openssl

       CMake安装

       sudo apt-get install cmake /  sudo yum install cmake

       安装findbugs(选择安装)

$ wget http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3.tar.gz?download
$ sudo tar zxf findbugs-2.0.3.tar.gz -C /opt
$ sudo vim /etc/profile
export FINDBUGS_HOME=/opt/findbugs-2.0.3
export PATH=$PATH:$FINDBUGS_HOME/bin

验证:
[root@hadoop001 bin]# fb -version
2.0.3

进入src包执行编译命令

mvn package -Pdist,native -DskipTests -Dtar  --不生成文档

生成文档的还未试验

使用-Pdocs选项可以生成文档,当然前提是安装了Forrest 和Findbugs  可以参考如下命令手动指定:FORREST_HOME和FINDBUGS_HOME.

mvn package -Pdocs -DskipTests -Dtar -Dmaven.test.skip -Denv.FORREST_HOME=/usr/local/apache-forrest  -Denv.FINDBUGS_HOME=/usr/local/findbugs

生成的文档在各自的target/site目录下.

记录:

jdk1.8下编译会有处理注释标签的问题。类似于一下问题:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.8.1:jar (module-javadocs) on project hadoop-annotations: MavenReportException: Error while creating archive:

[ERROR] Exit code: 1 - /home/hadoop/Desktop/hadoop-2.5.1-src/hadoop-common-project/hadoop-annotations/src/main/java/org/apache/hadoop/classification/InterfaceStability.java:27: error: unexpected end tag:

解决:更换为jdk1.7

[ERROR] around Ant part ...... @ 4:141 in /home/hadoop/Desktop/hadoop-2.5.1-src/hadoop-common-project/hadoop-common/target/antrun/build-main.xml

解决:

yum -y install zlib-devel 

debian:apt-get install zlib1g-dev

yum -y install ncurses-devel

debian: apt-get install libncurses5-dev

[ERROR] around Ant part ...... @ 5:131 in /home/hadoop/Desktop/hadoop-2.5.1-src/hadoop-tools/hadoop-pipes/target/antrun/build-main.xml

解决

yum install openssl-devel

以上是“centos6.5 64位下如何编译hadoop2.5.1源码”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


网站标题:centos6.564位下如何编译hadoop2.5.1源码
文章源于:http://hbruida.cn/article/gddcjo.html