zoukankan      html  css  js  c++  java
  • linux下hadoop2.6.1源码64位的编译

    linuxhadoop2.6.1源码64位的编译

    一、 前言

         Apache官网上提供的hadoop本地库是32位的,如果我们的Linux服务器是64位的话,就会现问题。我们在64位服务器执行Hadoop命令时,则会报以下错误:

    WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

    为了解决上述问题,我们就需要自己编译一个64位的hadoop版本。

    编译hadoop2.6.1需要的软件

    1. jdk 1.7

    2. gcc 4.4.5

    3. maven 3.3.3

    4. protobuf 2.5.0

    5. cmake 2.8.12.2

    6. ant 1.9.6

    7. finbugs(可选择)

    注意:
    1)在百度中搜索各个软件的名称,最好到官网上下载,下载软件一定注意软件的版本
    2)finbugs不是编译所必须的软件,可以不下载。

    编译软件的安装

      1.jdk的安装

    • 解压 tar -zxvf jdk-7u79-linux-x64.tar.gz
    • 配置环境变量,编辑/etc/profile文件
    • export JAVA_HOME=/opt/jdk1.7.0_25
    • export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    • export PATH=$PATH:$JAVA_HOME/bin
    • source /etc/profile 刷新修改的环境变量
    • java -version  检查jdk是否安装成功。有以下版本号输出即为成功。

       

      2.gcc的安装

         一般linux上会自带了gcc的安装,所以在安装以前,先检查一下服务器上是否已经安装了gcc。
         输入:gcc -v
         如果有以下输出,则这说明已经安装了gcc
         如机器上没有安装gcc,请自行安装

        

      3.maven的安装

    • 解压tar -zxvf apache-maven-3.3.3-bin.tar.gz 
    • 配置环境变量,编辑/etc/profile
    • export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
    • source /etc/profile 刷新修改的环境变量
    • mvn -version  检查maven是否安装成功。有以下版本号输出即为成功。

      

      4.protobuf的安装

    • 解压tar -zxvf protobuf-2.5.0.tar.gz
    • 进入protobuf的解压目录。如:cd /opt/protobuf-2.5.0/
    • 在安装目录下,执行以下命令:
      • ./ configure
      • make
      • make check
      • make install
    • protoc --version(注意命令中是两个-) 检查protoc是否安装成功。有版本号输出即为成功。

      

      5.cmake的安装

    • tar -zxvf cmake-2.8.12.2.tar.gz
    • 进入cmake的解压目录。如:cd /opt/cmake-2.8.12.2/
    • 在安装目录下,执行以下命令:
      • ./ bootstrap
      • make
      • make install
    • cmake -version 检查cmake是否安装成功。有版本号输出即为成功。

      

    6.ant的安装

    • 解压tar -zxvf apache-ant-1.9.6-bin.tar.gz
    • 编辑环境变量,编辑/etc/profile
    • export ANT_HOME=/opt/apache-ant-1.9.6
    • export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$ANT_HOME/bin
    • source /etc/profile 刷新修改的环境变量
    • ant -version检查ant是否安装成功。有以下版本号输出即为成功。

       

      7.安装必要的包

    • 安装 autotool
      • 执行命令:yum install autoconf automake libtool
    • 安装 openssl-devel
      • 执行命令:yum install openssl-devel

    四、编译hadoop2.6.1 

    • 在Apache官网上,下载hadoop-2.6.1的源码包hadoop-2.6.1-src.tar.gz。
    • 解压源码包tar -zxvf hadoop-2.6.1-src.tar.gz
    • 进入hadoop-2.6.1-src解压目录。cd /opt/hadoop-2.6.1-src/
    • 执行命令mvn clean package -Pdist,native -DskipTests -Dtar 进行编译。
    • 编译过程中,需要下载很多包,等待时间比较长。当看到hadoop各个项目都编译成功,即出现一系列的SUCCESS之后,即为编译成功。
    • 编译好的安装包hadoop-2.6.1.tar.gz,可以在文件目录hadoop-2.6.1-src/hadoop-dist/target/下找到。

    五、注意事项

       编译过程中需要下载安装包,有时候可能由于网络的原因,导致安装包下载不完整,而出现编译错误。

       错误1:

       Remote host closed connection during handshake: SSL peer shut down incorrectly.......

       解决方案:需要重新新多编译几次即可通过。

       错误2:

    A required class was missing while executing XXXXXX,           

    [ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy           

    [ERROR]urls[0] =file:/root/.m2/repository/org/codehaus/mojo/jspc/jspc-maven-plugin/2.0-alpha-3/jspc-maven-plugin-2.0-alpha-3.jar

    [ERROR]urls[1]=file:/root/.m2/repository/org/codehaus/mojo/jspc/jspc-compiler-tomcat5/2.0-alpha-3/jspc-compiler-tomcat5-2.0-alpha-3.jar [ERROR]urls[2]=file:/root/.m2/repository/tomcat/jasper-compiler/5.5.15/jasper-compiler-5.5.15.jar

    [ERROR]urls[3]=file:/root/.m2/repository/javax/servlet/jsp-api/2.0/jsp-api-2.0.jar

    [ERROR]urls[4]=file:/root/.m2/repository/ant/ant/1.6.5/ant-1.6.5.jar

    [ERROR]urls[5]=file:/root/.m2/repository/tomcat/jasper-compiler-jdt/5.5.15/jasper-compiler-jdt-5.5.15.jar

    ........................

       解决方案:则需要根据错误的提示,到相应目录下找到包,把包删除,然后再次重新编译。

        

  • 相关阅读:
    sp3485在rk3288上的应用
    wk2124 在 rk3288 上的适配与调试
    Android自定义View实现一个状态切换开关
    SQLite数据库入门
    Android如何动态申请应用权限?
    APK 如何实现应用热更新功能?
    Android 如何通过代码安装 APK?
    Android.mk 中如何拷贝任意文件
    Linux 下网络 IO 的多路复用
    Android hideSoftInputFromWindow 不能隐藏软键盘怎么办?
  • 原文地址:https://www.cnblogs.com/YaoxTao/p/4920529.html
Copyright © 2011-2022 走看看