• Hadoop的源码编译


     

    目录

    正文

    1、准备阶段

    使用root登录Centos,并且要求能够正常连接网络。配置清单如下:

    1hadoop-2.7.2-src.tar.gz

    2jdk-8u144-linux-x64.tar.gz

    3apache-ant-1.9.9-bin.tar.gzbuild工具,打包用的)

    4apache-maven-3.0.5-bin.tar.gz

    5protobuf-2.5.0.tar.gz(序列化的框架)

    1.1、下载Hadoop源码包

     https://hadoop.apache.org/releases.html

    1.2、安装、配置maven

    tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /opt/module/

    配置maven镜像源

    vi conf/settings.xml

    添加以下内容

     <mirror>
          <id>nexus-aliyun</id>
          <mirrorOf>central</mirrorOf>
          <name>Nexus aliyun</name>
          <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>

    配置maven环境变量

    vi /etc/profile

    添加一下内容

    #MAVEN_HOME
    export MAVEN_HOME=/opt/module/apache-maven-3.0.5
    export PATH=$PATH:$MAVEN_HOME/bi

    使得配置信息生效

    source /etc/profile

    验证maven是否安装成功:

    [root@hadoop-102 software]# mvn -version
    Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 08:51:28-0500)
    Maven home: /opt/module/apache-maven-3.0.5
    Java version: 1.8.0_144, vendor: Oracle Corporation
    Java home: /opt/module/jdk1.8.0_144/jre
    Default locale: en_US, platform encoding: UTF-8
    OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"
    You have new mail in /var/spool/mail/root
    [root@hadoop-102 software]# 

    1.3 、安装、配置Ant

    [root@hadoop-102 software]# tar -zxvf apache-ant-1.9.9-bin.tar.gz -C /opt/module/

      [root@hadoop-102 software]# vi /etc/profile

        #ANT_HOME

        export ANT_HOME=/opt/module/apache-ant-1.9.9

        export PATH=$PATH:$ANT_HOME/bin


      [root@hadoop-102 software]# source /etc/profile
      [root@hadoop-102 software]#

      [root@hadoop-102 software]# ant -version
        Apache Ant(TM) version 1.9.9 compiled on February 2 2017
      [root@hadoop-102 software]#

    1.4、安装glibc-headers  gcc-c++

    [root@hadoop-102 software]# yum -y install glibc-headers
    [root@hadoop-102 software]# yum install gcc-c++

    1.5、安装make和cmake

    [root@hadoop-102 software]# yum install make
    [root@hadoop-102 software]# yum install cmake

    1.6、编译安装protobuf

    [root@hadoop-102 software]# tar -zxvf protobuf-2.5.0.tar.gz -C /opt/module/
    [root@hadoop-102 software]# cd /opt/module/protobuf-2.5.0/                 
    [root@hadoop-102 protobuf-2.5.0]#
    [root@hadoop-102 protobuf-2.5.0]#./configure 
    [root@hadoop-102 protobuf-2.5.0]# make 
    [root@hadoop-102 protobuf-2.5.0]# make check 
    [root@hadoop-102 protobuf-2.5.0]# make install 
    [root@hadoop-102 protobuf-2.5.0]# ldconfig 

    配置环境变量:

    [root@hadoop-102 protobuf-2.5.0]# vi /etc/profile
     #LD_LIBRARY_PATH
     export LD_LIBRARY_PATH=/opt/module/protobuf-2.5.0
     export PATH=$PATH:$LD_LIBRARY_PATH
    [root@hadoop-102 protobuf-2.5.0]# source /etc/profile
    [root@hadoop-102 protobuf-2.5.0]#  protoc --version
    libprotoc 2.5.0

    1.7、安装openssl和 ncurses-devel库

    [root@hadoop-102 ~]# yum -y install openssl-devel
    [root@hadoop-102 ~]# yum -y install ncurses-devel

    jdk的安装时,解压后配置环境变量,这里就不在赘述。

    2、编译Hadoop

    2.1、解压源码包

    [root@hadoop-102 hadoop-2.7.2-src]# tar -zxvf hadoop-2.7.2-src.tar.gz -C /opt/
    [root@hadoop-102 software]# cd /opt/hadoop-2.7.2-src/
    [root@hadoop-102 hadoop-2.7.2-src]# 

    2.2、编译

    切入到解压后的目录中,执行:

    mvn package -Pdist,native -DskipTests -Dtar

    2.3、查看编译结果

     编译完成后,hadoop包在/opt/hadoop-2.7.2-src/hadoop-dist/target目录下。

    3、编译源码过程中常见的问题及解决方案

    (1)MAVEN install时候JVM内存溢出
    处理方式:在环境配置文件和maven的执行文件均可调整MAVEN_OPT的heap大小。

    (详情查阅MAVEN 编译 JVM调优问题,如:http://outofmemory.cn/code-snippet/12652/maven-outofmemoryerror-method)
    (2)编译期间maven报错。可能网络阻塞问题导致依赖库下载不完整导致,多次执行命令(一次通过比较难):

    mvn package -Pdist,nativeN -DskipTests -Dtar

    (3)报ant、protobuf等错误,插件下载未完整或者插件版本问题,最开始链接有较多特殊情况,同时推荐
    2.7.0版本的问题汇总帖子 http://www.tuicool.com/articles/IBn63qf

  • 相关阅读:
    CF(437C)The Child and Toy(馋)
    Android大放送干:书籍、过程、工具等各种全
    UVa 121
    ONOS系统架构演进,实现高可用性解决方案
    PowerDesigner 的常用小技巧 转
    现代团队必须是非常非常有活力、有激情同时又有向心力、有限属技能的团队。
    关于团队管理的心得体会 转
    Delphi 编译错误信息表
    财务基础 入门
    Sql Server CONVERT获取当前日期及日期样式
  • 原文地址:https://www.cnblogs.com/cosmos-wong/p/11321475.html
Copyright © 2020-2023  润新知