zoukankan      html  css  js  c++  java
  • 编译hadoop2.6.0 cdh 5.4.5 集成snappy压缩

    原文地址:http://www.cnblogs.com/qiaoyihang/p/6995146.html

    自带的为32位库,故需要把64为重编译进去

    1、下载源码:http://archive-primary.cloudera.com/cdh5/cdh/5/

    2、准备编译环境
      a、安装maven
      b、安装protobuffer

      ./configure --prefix=/usr/local/protobuf

      注意安装编译所需要的依赖包
      sudo yum install gcc-c++

      sudo yum -y install cmake

      sudo yum -y install zlib

      sudo yum -y install openssl-devel

      老流程:

      config > make >make check >make install


      c、配置环境变量:
      #protobuf
      export PATH=$PATH:/usr/local/protobuf/bin
      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib

    3、安装snappy

      ./configure --prefix=/usr/local/snappy

      config > make >make check >make install

    4、编译hadoop 集成snappy

    export MAVEN_OPTS="-Xms256m -Xmx512m"
    mvn package -Pdist,native -DskipTests -Dtar -Dbundle.snappy -Dsnappy.lib=/usr/local/snappy/lib
    

     注意:

      编译2.6 需要1.7的JDK

      编译完成位置:/home/hadoop/hadoop-2.6.0-cdh5.4.5/hadoop-dist/target

    本地库里面集成了snappy

    检查本地库加载

    hadoop checknative -a

    查看安装的基本信息

    file ./*

    编译中遇到的问题:

    问题1:编译的时候配置了远程仓库,但是还是会读取中央仓库

    <!--配置私服镜像-->
    <mirrors> 
    <mirror>
    <!--This sends everything else to /public -->
    <id>nexus</id>
    <mirrorOf>*</mirrorOf> 
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>
    <mirror>
    <mirrors> 

    该例中<mirrorOf>的值为星号,表示该配置是所有Maven仓库的镜像,任何对于远程仓库的请求都会被转至

    http://maven.aliyun.com/nexus/content/groups/public/

    如果该镜像仓库需要认证,则配置一个id为nexus的认证信息即可。

    需要注意的是,由于镜像仓库完全屏蔽了被镜像仓库,当镜像仓库不稳定或者停止服务的时候,Maven仍将无法访问被镜像仓库,因而将无法下载构件。

    解决办法:把*改为central

    问题2:编译成功后,用 checknative 查看本地库加载情况,出现snappy:false

    这个问题也困扰了许久,本地库文件检查了许多遍都没有问题,最后找到原因是因为把snappy安装在了 /usr/local/snappy这里

    安装在这里的snappy,就算和hadoop 一起成功编译,最后还是不能被识别。(这里我想应该在hadoop某个配置文件配置好目录才可以,目前还不清楚是什么目录)

    所以最后老老实实把snappy重装在 /usr/local/lib 下面,重编译加载snappy成功

  • 相关阅读:
    给存储过程传递一个表
    Linker problems with Borland builder
    Python内置函数super的不便之处
    接口测试基础
    接口测试工具篇postman
    接口测试工具篇jmeter
    git的使用
    git与pycharm结合使用
    抓包工具fiddler
    sql 中 case when 语法
  • 原文地址:https://www.cnblogs.com/qiaoyihang/p/6995146.html
Copyright © 2011-2022 走看看