zoukankan      html  css  js  c++  java
  • hadoop2.6.0本地编译,仅作学习记录

      官网下载hadoop二进制文件,安装部署,可以成功,但是每次运行命令之前均会报错Unable to load native-hadoop library for your platform hadoop,经查明为官网提供的是32位,但实际生产环境中一般均需要64位,下面就结合网上资料,整理编译64位hadoop2.6.0 的步骤。

      编辑环境为:redhat6.6 +jdk1.7+ hadoop-2.6.0-src.tar.gz

    1、编译前准备

      我的安装目录均在/usr/server/下,后面配置不做特殊说明。

    下载安装jdk,maven ,findbugs,protoc,实验版本分别为jdk1.7, apache-maven-3.3.3 ,findbugs-3.0.0,分别解压至/usr/server/目录下,改名为:jdk,maven,findbugs,protoc.修改环境变量,vim /etc/profile ,最后加上如下内容:

    export JAVA_HOME=/usr/server/jdk/
    export MAVEN_HOME=/usr/server/maven/
    export FINDBUGS_HOME=/usr/server/findbugs
    export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$FINDBUGS_HOME/bin:$PATH

    保存后,source /etc/profile 使其生效  验证:java -version ;mvn -version;findbugs -version ;  

    安装protoc ,实验版本,protobuf-2.5.0,下载解压至/usr/server

     ① tar -zxvf protobuf-2.5.0.tar.gz;② cd protobuf-2.5.0;③ ./configure --prefix=/usr/local/protoc/;④ make && make install。

    配置环境变量 vim /etc/profile  添加:

    export PROTOC_HOME=/usr/server/protoc/

    export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$FINDBUGS_HOME/bin:$PROTOC_HOME/bin:$PATH

    source /etc/profile 使其生效, protoc --version 验证

    安装其他依赖项:① yum install -y gcc;② yum intall -y gcc-c++;③ yum install -y make,操作系统已安装,不必重复安装

                            ① yum install -y cmake;② yum install -y openssl-devel;③ yum install -y ncurses-devel

    2、编译

    官网下载源码hadoop-2.6.0-src.tar.gz(http://www.apache.org/dyn/closer.cgi解压至/usr/server 下,然后修改一个hadoop-2.x共有的bug(详见https://issues.apache.org/jira/browse/HADOOP-10110),编辑文件:usr/local/hadoop-2.6.0-src/hadoop-common-project/hadoop-auth/pom.xml,第55行左右增加如下内容:

    <dependency>
             <groupId>org.mortbay.jetty</groupId>
             <artifactId>jetty-util</artifactId>
             <scope>test</scope>
    </dependency>

    然后进入目录/usr/local/hadoop-2.6.0-src中,执行命令:mvn package -DskipTests -Pdist,native,docs,其中docs根据需要添加

    由于网络问题,可能需要很长时间,运气好的话,可以一次性成功,我这边编译了一天,中断了好几次,但是没关系,重新再一次执行命令mvn package -DskipTests -Pdist,native,docs,可以继续编译,当看到一堆success 的时候,就成功了。

    编译好的包在/usr/server/hadoop-2.6.0-src/hadoop-dist/target/下 hadoop2.6.0 下,也可以直接拷贝lib目录覆盖已部署的32位hadoop中,重启hadoop即可。

  • 相关阅读:
    A Node Influence Based Label Propagation Algorithm for Community detection in networks 文章算法实现的疑问
    Fast Newman-FN算法以及模块度定义介绍
    Label Propagation Algorithm LPA 标签传播算法解析及matlab代码实现
    设计一个smartnic
    Intel GEN11 GPU
    Intel GEN9 GPU
    Shared Virtual Memory (SVM) Functions
    connect via ssh to virtualbox guest vm without knowing ip address
    smartnic
    技术精品翻译
  • 原文地址:https://www.cnblogs.com/hello-kelly/p/4630317.html
Copyright © 2011-2022 走看看