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即可。

  • 相关阅读:
    Python+Flask使用蓝图
    Python+selenium实现自动登录
    Python+Flask做个简单的表单提交程序
    第一个Flask程序
    PHP读取IIS网站列表
    在IIS7上导出所有应用程序池的方法 批量域名绑定
    Delphi判断一个字符串是否全是相同的数字
    WeTest六周年 | 匠心不改 初心不变
    WeTest压测大师链路性能监控 | 一站式压测、监控解决方案,开放免费体验预约
    WeTest自助压测1折起,最低1分钱参与Q币抽奖
  • 原文地址:https://www.cnblogs.com/hello-kelly/p/4630317.html
Copyright © 2011-2022 走看看