zoukankan      html  css  js  c++  java
  • Hadoop 2.7.4 源代码编译

    一、安装所需要的工具

    a) 下载hadoop源码 (当前最新的稳定版是2.7.4)
    地址  http://mirrors.hust.edu.cn/apache/hadoop/common/stable/hadoop-2.7.4-src.tar.gz 
    b) 下载并解压apache-ant (centos自带的ant版本太低,编译过程中会报错)
    地址: http://mirrors.cnnic.cn/apache//ant/binaries/apache-ant-1.10.1-bin.zip (最新版本即可)
    c) 下载并解压protobuf-2.5.0.tar.gz (这是google出品的一个数据传输格式)
    地址: https://developers.google.com/protocol-buffers/docs/downloads (官网地址要翻!墙!,百度上也能找到国内下载地址)
    d) 下载并解压findbugs
    地址: http://prdownloads.sourceforge.NET/findbugs/findbugs-3.0.1.tar.gz?download (最新版本即可)
    e) 下载并解压maven
    地址: http://maven.apache.org/download.cgi (下载最新版即可,本文中用的是3.5.0)

    f) 下载并安装jdk,使用sudo安装
    地址:这个比较容易找,大家自己去Oracle官网找着,jdk1.8 及以上(本文用的是1.8.111)

    二、设置环境变量

    vi ~/.bash_profile,添加以下命令:

    export ANT_HOME=/home/myusr/apache-ant-1.10.1  
    export FINDBUGS_HOME=/home/myusr/findbugs-3.0.1  
    export JAVA_HOME=/usr/java/jdk1.8.0_111/
    export M2_HOME=/home/myusr/apache-maven-3.5.0  
    export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin:$ANT_HOME/bin:$FINDBUGS_HOME/bin  
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  

    source ~/.bash_profile

     三、设置maven的本地存储库(高亮显示)

    <?xml version="1.0" encoding="UTF-8"?>   
    <settings xmlns=" http://maven.apache.org/SETTINGS/1.0.0"   
              xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"   
              xsi:schemaLocation=" http://maven.apache.org/SETTINGS/1.0.0  http://maven.apache.org/xsd/settings-1.0.0.xsd">   
      <!-- 直接网络下载的话,只修改这句就可以 -->  
      <localRepository>/home/zkpk/apache-maven-3.5.0/repo</localRepository>  
      
      <mirrors>   
        <mirror>  
          <id>alimaven</id>  
          <name>aliyun maven</name>  
           <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
          <mirrorOf>central</mirrorOf>          
        </mirror>          
      </mirrors>     
         
      <profiles>   
        <profile>   
          <id>nexus</id>   
          <repositories>   
            <repository>   
              <id>nexus</id>   
              <name>Nexus</name>   
              <url>http://maven.aliyun.com/nexus/content/groups/public/</url>   
              <releases><enabled>true</enabled></releases>   
              <snapshots><enabled>true</enabled></snapshots>   
            </repository>   
          </repositories>   
          <pluginRepositories>   
            <pluginRepository>   
              <id>nexus</id>   
                <name>Nexus</name>   
                <url>http://maven.aliyun.com/nexus/content/groups/public/</url>   
                <releases><enabled>true</enabled></releases>   
                <snapshots><enabled>true</enabled></snapshots>   
            </pluginRepository>   
          </pluginRepositories>   
        </profile>   
      </profiles>   
      <activeProfiles>   
        <activeProfile>nexus</activeProfile>   
      </activeProfiles>   
      
     </settings>  

    验证:

    ant -version
    mvn -version

    三、安装必要的软件

    sudo yum -y install gcc*
    sudo yum -y install cmake
    sudo yum -y install glibc-headers
    sudo yum -y install gcc-c++
    sudo yum -y install zlip-devel
    sudo yum -y install openssl-devel
    sudo yum -y install svn
    sudo yum -y install git
    sudo yum -y install ncurses-devel 
    sudo yum -y install lzo-devel
    sudo yum -y install autoconf
    sudo yum -y install libtool
    sudo yum -y install automake

    四、配置安装protobuf

    进入protobuf所在目录,然后按下面顺序操作

    ./configure
    make 
    make check
    sudo make install

    五、修改源代码

    将节点hadoop-annotations的值由provide 改成compile

    进入hadoop-2.7.4所在目录,

    vi hadoop-common-project/hadoop-auth/pom.xml

    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-annotations</artifactId>
      <scope>compile</scope>
    </dependency>

    六、编译

    进入hadoop源代码目录,输入

    mvn clean package -DskipTests -Pdist,native -Dtar

    上面这行命令大意是先清理target目录,再打包,同时跳过测试,应用dist,native这2种profile,且最终目标是生成tar包

    (参考文档:http://blog.csdn.net/u013980127/article/details/52287545)

    技术服务业务
  • 相关阅读:
    TCP和UDP的最完整的区别
    kafka重置到最新offset偏移量
    MYSQL中IN,INSTR,FIND_IN_SET函数效率比较
    本地不安装ORACLE,用PLSQL访问远程数据库
    MySQL中的DEFINER与SQL SECURITY
    Centos6.8 安装tomcat8.5.11
    动态代理模式
    linux下mysql允许远程连接
    全面理解Java中的String数据类型
    Spring中获取web项目的根目录
  • 原文地址:https://www.cnblogs.com/cauwt/p/Hadoop_2-7-4_compile_on_centos_6-5.html
Copyright © 2011-2022 走看看